向量

1.题目

2.分析

有四种操作方式 ( a , b ) , ( a , − b ) , ( b , a ) , ( b , − a ) (a, b), (a, -b), (b, a), (b, -a) (a,b),(a,b),(b,a),(b,a)

设第 i i i个方程的操作数量是 A i A_i Ai

∴ A 1 a + A 2 a + A 3 b + A 4 b = x ① ∴A_1a + A_2a + A_3b + A_4b = x① A1a+A2a+A3b+A4b=x
且 A 1 b − A 2 b + A 3 a − A 4 a = y ② 且A_1b - A_2b + A_3a - A_4a = y② A1bA2b+A3aA4a=y
① + ② 可 得 : A 1 ( a − b ) + A 2 ( a + b ) + A 3 ( b − a ) + A 4 ( a + b ) = x + y ①+②可得:A_1(a - b) + A_2 (a + b) + A_3 (b - a) + A_4 (a + b) = x + y +A1(ab)+A2(a+b)+A3(ba)+A4(a+b)=x+y
( A 2 + A 4 ) ( a + b ) + ( A 1 − A 3 ) ( a − b ) = x + y (A_2 + A_4) (a + b) + (A_1 - A_3)(a - b) = x + y (A2+A4)(a+b)+(A1A3)(ab)=x+y

① : ( A 1 + A 2 ) a + ( A 3 + A 4 ) b = x ⇒ ( a , b ) ∣ x ①:(A_1 + A_2)a + (A_3 + A_4)b = x \Rightarrow (a, b) \mid x (A1+A2)a+(A3+A4)b=x(a,b)x
② : ( A 1 − A 2 ) a + ( A 3 − A 4 ) b = y ⇒ ( a , b ) ∣ y ②:(A_1 - A_2)a + (A_3 - A_4)b = y \Rightarrow (a, b) \mid y (A1A2)a+(A3A4)b=y(a,b)y
③ : ( a + b , a − b ) ∣ ( x + y ) ③:(a + b, a - b) \mid (x + y) (a+b,ab)(x+y)

3.参考代码

#include <cstdio>
#include <iostream>
#define LL long long
using namespace std;

int t;

LL a, b, x, y;

LL gcd (LL x, LL y);
LL Abs (LL x) { return x > 0 ? x : -x; }

int main () {
	scanf ("%d", &t);
	while (t--) {
		scanf ("%lld %lld %lld %lld", &a, &b, &x, &y);
//		printf ("x = %d, y = %d\n", x, y);
//		printf ("gcd = %d\n", gcd (b - a, gcd (a + b, a)));
		int flag1 = x % gcd (a, b), flag2 = y % gcd (a, b), flag3 = (x - y) % gcd (a + b, a - b), flag4 = (x + y) % gcd (a + b, a - b);
		if (flag1 || flag2 || flag3 || flag4) {//flag(1~4)随便选3个都能过
			printf ("N\n");
		}
		else {
			printf ("Y\n");
		}
	}
	return 0;
}

LL gcd (LL x, LL y) {
	if (Abs (x) < Abs (y)) swap (x, y);
	if (y == 0) return x;
	return gcd (y, x % y);
}

question:

③由①和②推出,为什么会得到不同的结论呢?求助orz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值