c语言递归实现最大公约数源码
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求最大公约数
//递归代码
#include
int gcd(int x,int y);
main ()
{
int x,y ;
printf("请输入两个正整数(n1,n2):\n");
scanf("%d,%d",&x,&y);
printf("%d,%d的最大公约数是:%d\n",x,y,gcd(x,y));
return(0);
}
int gcd(int x,int y)
{
int t;
if(x { t=x; x=y; y=t; } if(x%y==0) return y; else return gcd(y,x%y); } //非递归代码 #include int main() { int m,n; printf("请输入两个正整数(n1,n2):\n"); scanf("%d,%d",&m,&n); while(m!=n) { if(m>n) m=m-n; else n=n-m; } printf("两个数的最大公约数是%d\n",m); return 0; }