二、 编写一个递归函数,计算并返回斐波那契数列中第n项的值,斐波那契数列定义如下:
二、编写一个递归函数,计算并返回斐波那契数列中第n项的值,斐波那契数列定义如下:fib(1)=1,fib(2)=1Fib(n)=Fib(n-1)+Fib(n-2)...
二、 编写一个递归函数,计算并返回斐波那契数列中第n项的值,斐波那契数列定义如下:
fib(1)=1,fib(2)=1
Fib(n)= Fib(n-1)+Fib(n-2) 展开
fib(1)=1,fib(2)=1
Fib(n)= Fib(n-1)+Fib(n-2) 展开
3个回答
展开全部
#include
fib(int n)
{if(n==0)return(0);
else if(n==1)return(1);
else
return(fib(n-1)+fib(n-2));
}
main()
{int n,s;
scanf("%d",&n);
s=fib(n);
printf("%d\n",s);
}
扩展资料:
scanf用法:
输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。
scanf("%s",s);改为scanf("%s",&s);
scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);
格式控制字符串包含:格式控制说明,普通字符。
1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)
2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d\n"中的fahr=,celsius=。
3、输入的参数是变量的地址,所以要在变量前面加&。
推荐于2017-11-24
展开全部
#include <stdio.h>
int Fibonacci(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
void main()
{
int n;
printf("please input n: ");
scanf("%d",&n);
printf("Result: %d\n",Fibonacci(n));
}
int Fibonacci(int n)
{
if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。
}
void main()
{
int n;
printf("please input n: ");
scanf("%d",&n);
printf("Result: %d\n",Fibonacci(n));
}
追问
编写程序, 从键盘输入一个整数N(N<=10),然后计算并输出 S=1+21+22+…+2|N| 是次方
帮帮忙 急!!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-04
展开全部
#include<iostream>
int F(int n);
using namespace std;
int main()
{
int num;
cout<<"please enter a non-negtive number: "<<endl;
cin>>num;
int array[num];
cout<<"the fibonacci of "<<num<<" is: "<<endl;
for(int i=0;i<=num;i++)
{
array[i]=F(i);
cout<<array[i]<<" ";
}
system("PAUSE");
return 0;
}
int F(int n)
{
if(n==0)
return 0;
if(n==1)
return 1;
else
return F(n-1)+F(n-2);
}
int F(int n);
using namespace std;
int main()
{
int num;
cout<<"please enter a non-negtive number: "<<endl;
cin>>num;
int array[num];
cout<<"the fibonacci of "<<num<<" is: "<<endl;
for(int i=0;i<=num;i++)
{
array[i]=F(i);
cout<<array[i]<<" ";
}
system("PAUSE");
return 0;
}
int F(int n)
{
if(n==0)
return 0;
if(n==1)
return 1;
else
return F(n-1)+F(n-2);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询