求两个正整数的最大公因子----C 语言复习
今天接着复习了一些 C 语言的知识点,看了一个问题,就是求两个正整数的最大公因子。
教材里采用的是 Euclid (欧几里德)算法来求解的,其算法是:
1,输入两个正整数 m 和 n。 2,用 m 除以 n,余数为 r,如果 r 等于 0,则 n 就是最大公因,算法结束,否则执行 3。 3,把 n 赋给 m,把 r 赋给 n,转向 2。
来看看程序代码:
#include "stdio.h"
/*用 Euclid 算法求两个正整数的最大公因子*/
main()
{
int m, n, r;
printf("Please type in two positive integers:\n");
scanf("%d,%d", &m, &n);
while(n != 0)//或者 while(n)
{
r = m % n;
m = n;
n = r;
}
printf("Their greatest common divisor is %d.\n", m);
}
测试:


浙公网安备 33010602011771号