第一种:用较小数的最大约数于较大数作求模元算
#include
/*
求两个数的最大公约数
*/
int main(){
int a,b,max,min,i,result;
scanf(“%d,%d”,&a,&b);
printf(“您输入的的值分别为%d,%dn”,a,b);
if(a>b){
max=a;
min=b;
}else if(a == b){
result=a;
goto out;
}else{
max=b;
min=a;
}
for(i=min;i>0;i–){
if((min%i) == 0){
if((max%i) == 0){
result = i;
goto out;
}
}
}
out:
printf(“最大公约数为:%dn”,result);
return 0;
}
第二种:古老的数学算法–辗转想除法
#include
/*
求两个数的最大公约数
使用辗转相除法
*/
int main(){
int a,b,max,min,i,result;
scanf(“%d,%d”,&a,&b);
printf(“您输入的的值分别为%d,%dn”,a,b);
if(a>b){
max=a;
min=b;
}else if(a == b){
result=a;
goto out;
}else{
max=b;
min=a;
}
while(min != 0 ){
i=max%min;
printf(“%d,%d,%dn”,max,min,i);
max=min;
min=i;
}
out:
printf(“最大公约数为:%dn”,max);
return 0;
}
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览35042 人正在系统学习中 相关资源:I-120E公版软件-TW.TW-ONU_V1.0_R1B01D30127-4339.w.zip- 络设备…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!