1.采用递归方法:#include<stdio.h>int gcd(int a,int b){ return a<=b?(b%a==0?a:gcd(a,b%a)):(a%b==0?b:gcd(b,a%b));}int main(){ int a,b; while(1) { PRintf("请输入ab两个数:/n"); scanf("%d%d",&a,&b); if(a<=0 || b<=0) break; else { printf("%d/n",gcd(a,b)); } } return 0;}2.非递归方法:#include<stdio.h>int main(){ int a,b,temp; while(1) { printf("请输入ab两个数:/n"); scanf("%d%d",&a,&b); if(a<=0 || b<=0) break; else { while(b!=0) { temp=a%b; a=b; b=temp; } printf("最大公约数是:%d/n",a); } } return 0;}
新闻热点
疑难解答