Problem description |
称两个正整数是互素的,当它们没有大于1的公因子的时候。比如,4与9就是互素的,尽管4与9都不是素数,但4与9只有一个公因子:1,所以它们互素。但4与22就不是互素的,因为它们有一个大于1的公因子:2。 你的任务,给你2个数,判断它们是否互素。 |
Input |
有多个测试序列,测试结束于测试文件结束; 每个测试序列占一行,每行2个用空格隔开的正整数a,b。a,b < 264. |
Output |
对于每对输入的整数,输出”YES”,如果它们互素;否则,输出”NO”。 |
Sample Input |
22 4 4 9 |
Sample Output |
NO YES |
代码如下:
#include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; unsigned __int64 gcd(unsigned __int64 a, unsigned __int64 b) { if (b > 0) { return gcd(b, a % b); } return a; } int main() { unsigned __int64 a,b; while(cin>>a>>b){ if(gcd(a,b)==1) { printf("YES\n"); } else printf("NO\n"); } return 0; }
水题,请参考!
时间: 2024-10-06 03:37:02