1.碾转相除法:
例1: 10 与 4 的最大公约数为:
10 / 4 = 2...2
4 / 2 = 2...0
2是10与4的最大公约数
例2:30 与 21 的最大公约数为:
30 / 21 = 1...9
21 / 9 = 2...3
9 / 3 = 3...0
3是30与21的最大公约数
通过以上,我们不难看出碾转相除法就是大数除以小数,得到的余数为0时,则小数就是他们的最大公约数;若余数不为0时,则用除数除以余数,得到的余数再次与0比较,余数不为0时,则除数除以余数,一直循环,直到最终余数为0,除数就是他们的最大公约数。
注意:0没有公约数!
2.流程图:
3.代码展示:
#include<stdio.h>
int main()
{
int a,b,c,temp;
printf("Please input two numbres:");
scanf("%d %d",&a,&b);
if(a && b != 0){
if(a < b){
temp = a;
a = b;
b = temp;
}
c = a % b;
while(c!=0){
a=b;
b=c;
c=a%b;
}
printf("%d",b);
}
else{
printf("Error");
}
}