5-1.用递归编写两个正整数的最大公约数

来源:互联网 发布:淘宝风王的祝福 编辑:程序博客网 时间:2024/06/07 17:39

使用Euclid算法编写两个整数的最大公约数<辗转相除法>

1.如果a除以b能整除,则最大公约数是b

2.否则,最大公约数等于b和a%b的最大公约数

#include<stdio.h>int gcd(int a,int b);int main(void){int a,b,t;scanf("%d%d",&a,&b);t=gcd(a,b);printf("%d",t);return 0;}int gcd(int a,int b){int tmp,tmp1;if(a<0)a=-a;if(b<0)b=-b;if(a<b){tmp=a;a=b;b=tmp;}if(a%b==0)tmp1=b;elsetmp1=gcd(b,a%b);return tmp1;}


0 0
原创粉丝点击