函数阶乘
Problem:824
Time Limit:1000ms
Memory Limit:65536K
Description
从键盘输入一个数值n(n <= 15),计算出数值n的阶乘。
Input
输入数据有多组,每组1个整数值n (0 <= n <=15)。
Output
对应输入数值的阶乘的值。
Sample Input
0
1
2
3
10
Sample Output
1
1
2
6
3628800
Hint
Source
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int ans=1;
if(n==0)
{
cout<<"1"<<endl;
}
else
{
for(int i=n;i>0;i--)
{
ans=ans*i;
}
cout<<ans<<endl;}
}
return 0;
}
求斐波那契数函数版
Problem:827
Time Limit:1000ms
Memory Limit:65536K
Description
根据斐波那契递推关系,求解斐波那契数值
斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)
Input
输入数据有多组,一个正整数表示要求取的第几项斐波那契数值;(2 <= n <= 40)
Output
输出斐波那契数值
Sample Input
5
8
10
20
Sample Output
5
21
55
6765
Hint
Source
#include <bits/stdc++.h>
using namespace std;
int f(int a)
{
if(a==1)
{
return 1;
}
if(a==2)
{
return 1;
}
return f(a-1)+f(a-2);
}
int main()
{
int n,ans=0;
while(cin>>n)
{
cout<<f(n)<<endl;
}
return 0;
}
求斐波那契数函数版
Problem:827
Time Limit:1000ms
Memory Limit:65536K
Description
根据斐波那契递推关系,求解斐波那契数值
斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)
Input
输入数据有多组,一个正整数表示要求取的第几项斐波那契数值;(2 <= n <= 40)
Output
输出斐波那契数值
Sample Input
5
8
10
20
Sample Output
5
21
55
6765
Hint
Source
#include <bits/stdc++.h>
using namespace std;
int f(int a)
{
if(a==1)
{
return 1;
}
if(a==2)
{
return 1;
}
return f(a-1)+f(a-2);
}
int main()
{
int n,ans=0;
while(cin>>n)
{
cout<<f(n)<<endl;
}
return 0;
}
文章评论