武汉科技大学ACM :1006: 华科版C语言程序设计教程(第二版)例题4.15
Problem Description
输入两个整数,判断他们是否互质。
Input
两个整数。(多组数据)
Output
如果他们互质,则输出“yes”,否则,输出“no”。
Sample Input
2 3
Sample Output
yes
我的代码:
1 #include <iostream> 2 #include <math.h> 3 #include <string> 4 using namespace std; 5 int main() 6 { 7 long a,b,t; 8 while(cin>>a>>b) 9 { 10 int r=0; 11 if((a==-1)&&(b==-1))break; 12 if(b==1)r=1; 13 long temp; 14 while(a!=b) 15 { 16 if(a<b) 17 { 18 temp=a; 19 a=b; 20 b=temp; 21 } 22 t=b; 23 b=a-t; 24 a=t; 25 } 26 if(b==1)r=1; 27 if(r==1)cout<<"yes"<<endl; 28 else cout<<"no"<<endl; 29 } 30 return 0; 31 system("pause"); 32 }
其他代码:
#include <iostream> using namespace std; int mgcd(int a,int b) { int t; if(a<b) { t=a;a=b;b=t; } while(a%b) { t=b; b=a%b; a=t; } return b; } int main() { int a,b; while(cin>>a>>b) { if(mgcd(a,b)==1) { cout<<"yes"<<endl; } else { cout<<"no"<<endl; } } return 0; }