问题及代码:
/*
*copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作者:崔青青
*完成日期2016年3月19号
*问题描述:输入四个数,并求他们的最大公约数。
*输入描述:输入四个数。
*程序输出:四个数的最大公约数。
*/
#include <iostream>
using namespace std;
int gcd1(int x,int y);
int gcd2(int x,int y,int z,int w);
int main()
{
int a,b,c,d,g;
cin>>a>>b>>c>>d;
g=gcd2(a,b,c,d);
cout<<"最大公约数是:"<<g;
return 0;
}
int gcd1(int e,int f)
{
if(e%f==0)
return f;
else
return gcd1(f,e%f);
}
int gcd2(int x,int y,int z,int w)
{
int a,b,c;
a=gcd1(x,y);
b=gcd1(z,w);
c=gcd1(a,b);
return c;
}
运行结果:
知识点总结:
这次项目是做有关递归的题目,递归就是要找到算法,并且能够熟练的掌握过程。
学习心得:
做递归是很难的,不但要做算法,还要对过程熟练,但是掌握了之后,其他题目就So Easy.