求两个正整数的最大公因子----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);

}

测试:

测试

你可能感兴趣的:(语言)