题目链接: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; }