问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:用递归函数求出两个数的最大公约数.cpp
*作 者:白云飞
*完成日期:2014年11月17日
*版 本 号:v1.0
*
*问题描述:用递归函数求出两个数的最大公约数。
*程序输入:两个正整数
*程序输出:两个数的最大公约数
*/
#include<iostream>
using namespace std;
int gcd(int a,int b);//声明自定义函数
int main()//主函数
{
int a,b;//声明变量
cout<<"请输入两个数:"<<endl;
cin>>a>>b;
cout<<"最大公约数为"<<gcd(a,b)<<endl;//调用自定义函数并求出函数值
return 0;
}
int gcd(int a,int b)//自定义函数
{
return (a%b!=0?(gcd(b,a%b)):b);
}
运行结果:
学习心得:
用递归的方法求两个数的最大公约数,要点在于自定义函数中递归方法的运用,这种写法很简洁,所以借鉴了下来,以供参考。