问题及代码:
/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作 者:董凯琦
*完成日期:2016年3月20日
*版 本 号:v1.0
*
*问题描述:编程序,用递归函数求出两个数的最大公约数。
*输入描述:两个整数。
*程序输出:一个整数,表示结果。
*/
#include<iostream>
using namespace std;
int gcd(int x,int y)
{
if(0==y)
return x;
else
return gcd(y,x%y);
}
int main()
{
int a,b;
cin>>a>>b;
cout<<"这两个数的最大公约数为:"<<gcd(a,b)<<endl;
return 0;
}
运行结果:
知识点总结:
从这个程序中,我们可以认识到除了辗转相除外,我们还可以用到递归思想去求两个数的最大公约数。
学习心得:
打开了思路,进一步加深了对递归思想的理解。