问题及代码:
/*
*Copyringht (c) 2014,烟台大学计算机学院
*All right reserved.
*文件名称: test.cpp
*作 者:马明城
*完成日期:2014年11月10日
*版本号: v1.0
*问题描述: 递归法求两数的最大公约数
*输入描述:
*程序输出:
*/
#include <iostream>
using namespace std;
int gcd(int,int);
int main()
{
int a,b,c;
cout<<"请输入两个正整数:";
cin>>a>>b;
c=gcd(a,b);
cout<<"两个数的最大公约数是:"<<c<<endl;
return 0;
}
int gcd(int x,int y)
{
int g;
if(y==0)
g=x;
else
g=gcd(y,x%y);
return g;
}
运行结果:
知识总结:
还是那句话,递归法比辗转相除法简单好多