1. 程式人生 > >震驚!!約數原來還可以這麼求!

震驚!!約數原來還可以這麼求!

標題 輾轉相除法求最大公約數

輾轉相除法, 又名歐幾里德演算法(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);
	
}