1114 - C语言2.11
读入两个正整数m和n,计算m和n的最大公约数。
Input
两个空格隔开的正整数m和n。
Output
m和n的最大公约数。注意行尾输出换行。
Examples
Input
35 14
Output
7
Solution C
#include<stdio.h> int main(){ int m,n,temp; scanf("%d %d",&m,&n); while(m%n!=0){ temp=n; n=m%n; m=temp;} printf("%d\n",n); return 0; }
Solution C++
#include <stdio.h> int main() { int m, n, t; scanf("%d %d", &m, &n); /* 比较m和n的大小,通过交换保证m <= n */ if (m > n) { t = m; m = n; n = t; } /* 进行欧几里得辗转相除法求出最大公约数,并保存在n中 */ while (m != 0) { t = m; m = n % m; n = t; } printf("%d\n", n); return 0; }