题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1222
题目其实挺坑爹,难以想到用gcd(最大公约数)来解决,可能经验不足吧!
还有,发现个小问题,辗转相减法比辗转相除法费时,辗转相减法直接超时,辗转相除法才用了15MS,相距甚远!
贴个代码:
#include <cstdio> int gcd(int n,int m) { if(n<m) { int t=n; n=m; m=t; } if(m==0)return n; else { return gcd(n%m,m); } } int main() { int n,m,j,k,cas; scanf("%d",&cas); while(cas--) { scanf("%d%d",&n,&m); if(gcd(n,m)==1)printf("NO\n"); else printf("YES\n"); } return 0; }