*/
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名:zuidagongyueshu.cpp
* 作者:常轩
* 微信公众号:Worldhello
* 完成日期:2016年4月23日
* 版本号:V1.0
* 问题描述:探究求两数最大公约数的方法
* 程序输入:32 8
* 程序输出:见运行结果
*/
#include <stdio.h> //递归法
int main()
{
int gcd(int x,int y);
int a,b,g;
scanf("%d %d",&a,&b);
g=gcd(a,b);
printf("最大公约数是:%d",g);
return 0;
}
int gcd(int x,int y)
{
if(x<=y)
if(y%x==0)
return(x);
else
return(gcd(x,y%x));
else
return gcd(y,x);
}
#include <stdio.h> //普通法
int main()
{
int gcd(int x,int y);
int a,b,g;
scanf("%d %d",&a,&b);
g=gcd(a,b);
printf("最大公约数是:%d",g);
return 0;
}
int gcd(int x,int y)
{
if(x>y)
{
int t;
t=x;x=y;y=t;
}
int i,a;
for(i=1;i<=x;i++)
{
if(x%i==0&&y%i==0)
{
a=i;
}
}
return a;
}
运行结果:
心得:
山重水复疑无路,柳暗花明又一村