/*
*Copyright(c) 2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:my.cpp
*作 者:张瀚文
*完成日期:2015年3月28日
*版 本 号:v1.0
*
*问题描述:(1)编写递归函数求出n的阶乘
(2)写出求1*3*5...n的递归式,并编写出递归函数求解
(3)编程序,用递归函数求出2个数的最大公约数。
(4)编制递归函数fib(int n)返回第n个Fibnacci数,依次输出Finbnacci序列的第20个数
*输入描述:
*程序输出:(1)阶乘结果
(2)结果
(3)2个数最大公约数
(4)第20个fib数
*/
#include<iostream>
using namespace std;
int rcycle(int );
int main()
{
int n;
cout<<"请输入一个数:";
cin>>n;
cout<<"该数的阶乘为:"<<rcycle(n)<<endl;
return 0;
}
int rcycle(int n)
{
if(n==0)
return 1;
return n*rcycle(n-1);
}
<img src="https://img-blog.csdn.net/20160329215414553?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
#include<iostream>
using namespace std;
int rcycle(int );
int main()
{
int n;
cout<<"请输入一个奇数:";
cin>>n;
cout<<"该数的阶乘为:"<<rcycle(n)<<endl;
return 0;
}
int rcycle(int n)
{
if(n==1||n==0)
return 1;
return n*rcycle(n-2);
}
<img src="https://img-blog.csdn.net/20160329215531442" alt="" />
#include<iostream>
using namespace std;
int gcd(int ,int );
int main()
{
int a,b;
cout<<"输入2个数:"<<endl;
cin>>a>>b;
cout<<"最大公约数:"<<gcd(a,b);
return 0;
}
int gcd(int a,int b)
{
if(a%b==0)
return b;
gcd(b,a%b);
}
<img src="https://img-blog.csdn.net/20160329215638773" alt="" />
#include<iostream>
using namespace std;
int fib(int );
int main()
{
cout<<fib(20);
return 0;
}
int fib(int n)
{
if(n==1||n==2)
return 1;
else
return fib(n-1)+fib(n-2);
}
第四周项目5-递归
最新推荐文章于 2016-04-06 20:21:52 发布