1.n!(递归)
问题描述
n!计算,要求:使用递归
f[i]=1(i=0)
f[i]=i×f[i-1](i>0)
输入
多组输入,每组数据输入一个整数n(1<=n&&n<=10)
输出
每组输出一个整数f[n]
样例输入
1
2
5
6
样例输出
1
2
120
720
#include<stdio.h>
int Fact(int t){
int sum;
if(t==1) sum=1;
else{
sum=t*Fact(t-1);
}
return sum;
}
int main(){
int n,sum;
while(~scanf("%d",&n)){
sum=Fact(n);
printf("%d\n",sum);
}
return 0;
}
2.斐波那锲数列递归实现
问题描述
下面将给出斐波那契数列的公式,按照要求实现
要求:使用递归实现程序
fib[i]=1(i=1&&i=2)
fib[i]=fib[i-1]+f[i-2](i>=3)
输入
多组输入,每组输入一个整数n
输出
每组输出一个整数fib[n]
样例输入
1
2
6
9
样例输出
1
1
8
34
#include<bits/stdc++.h>
using namespace std;
int Fib(int n){
if(n==1||n==2) return 1;
else return Fib(n-1)+Fib(n-2);
}
int main(){
int n;
while(~scanf("%d",&n))
printf("%d\n",Fib(n));
return 0;
}