3337 - 习题5-3-2 求最大公约数
输入两个正整数,求其最大公约数。
Input
测试数据有多组,每组输入两个正整数,两个正整数之间以空格分隔。
Output
对于每组输入,输出其最大公约数。
每组对应一个输出,单独占一行。
Examples
Input
14 49 21 66
Output
7 3
Solution C
#include<stdio.h> int main() { int a,b,c,d; int yue(int x,int y); scanf("%d%d%d%d",&a,&b,&c,&d); printf("%d\n",yue(a,b)); printf("%d\n",yue(c,d)); return 0; } int yue(int x,int y) { int i,min,max; min=(x>y)?y:x; for (i=1;i<min;i++) { if(x%i==0&&y%i==0) max=i; } return max; }
Solution C++
#include<iostream> using namespace std; int main() { int m,n; while (cin>>m>>n) { int r=m%n; while (r) { m=n; n=r; r=m%n; } cout<<n<<endl; } return 0; }