1114 - C语言2.11
读入两个正整数m和n,计算m和n的最大公约数。
题目输入
两个空格隔开的正整数m和n。
题目输出
m和n的最大公约数。注意行尾输出换行。
输入/输出样例
题目输入
35 14
题目输出
7
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; }
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; }