算法:
step1:如果b等於0,計算結束,a就是最大公約數;
step2:否則,計算a除以b的餘數,讓a等於b,而b等於那個餘數;
step3:回到第一步。
表格演示:
a b t
12 18 12
18 12 6
12 6 0
6 0
程序:
# include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int ret=0;
int t1=a;
int t2=b;
while(b!=0){
ret=a%b;
a=b;
b=ret;
printf("a=%d,b=%d,ret=%d\n",a,b,ret);
}
printf("%d和%d的最大公約數爲%d.\n",t1,t2,a);
return 0;
}