震惊!!约数原来还可以这么求!

标题 辗转相除法求最大公约数

辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

代码如下:

#include"stdio.h"
main(){
	int a,b,c;
	scanf("%d%d",&a,&b);
	if(a==0||b==0)
	printf("data error!!");
	else
	{
		c=a%b;
		while(c!=0)
		{a=b;
		b=c;
		c=a%b;
		
		
		}
		
	}
	printf("%d",b);
	
} 

猜你喜欢

转载自blog.csdn.net/qq_42337335/article/details/83579096