首页 > 代码库 > C语言求最大公约数(两种最简单的算法实现)
C语言求最大公约数(两种最简单的算法实现)
第一种:用较小数的最大约数于较大数作求模元算
#include<stdio.h> /* 求两个数的最大公约数 */ int main(){ int a,b,max,min,i,result; scanf("%d,%d",&a,&b); printf("您输入的的值分别为%d,%d\n",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("最大公约数为:%d\n",result); return 0; }
第二种:古老的数学算法--辗转想除法
#include<stdio.h> /* 求两个数的最大公约数 使用辗转相除法 */ int main(){ int a,b,max,min,i,result; scanf("%d,%d",&a,&b); printf("您输入的的值分别为%d,%d\n",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,%d\n",max,min,i); max=min; min=i; } out: printf("最大公约数为:%d\n",max); return 0; }
C语言求最大公约数(两种最简单的算法实现)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。