您的位置:首页 > 其它

nyoj 144 小珂的烦恼

2017-09-23 09:47 197 查看

小珂的苦恼

时间限制:1000 ms  |  内存限制:1000 KB
难度:2

描述
    小珂是一名初中生,她现在很苦恼,因为老师布置了一个让她苦恼的作业,你能不能帮助她呢?题目信息如下。

        已知二元一次方程 a*x+b*y=n, 判断这个二元一次方程有没有整数解,x,y为未知数,其中a,b,n都为整数且不等于零,同时满足0<a,b,n<2^16-1。

输入第一行有一个整数0<n<=1000000表示有 n组测试数据,接下来的每一行有三个整数分别是a,b,n

输出存在整数x和y使得方程有解,输出“Yes”,否则输出“No”

样例输入
22 4 23 9 7

样例输出
YesNo

来源[iphxer]原创上传者iphxer

思路:扩展欧几里德算法

#include<stdio.h>
int fun(int a,int b){
int t;
while(b){
t=a%b;
a=b;
b=t;
}
return a;
}
int main()
{
int n,a,b,c;
scanf("%d",&n);
while(n--){
scanf("%d%d%d",&a,&b,&c);
int m=fun(a,b);//m为最大公约数
if(c%m==0) printf("Yes\n");
else printf("No\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息