
输入m和n,输出m-n之间的所有Fibonacci数,要求使用调用函数fib(n),它的功能是返回第n项Fibonacci数
3个回答
展开全部
// Author: Yach
// QQ: 79564727
// 申请请注明来者何人..
#include<iostream>
using namespace std;
int fib(int);
void mAndn(int,int);
int fib(int n)
{
int f1 = 2;
int f2 = 3;
int temp=0;
if (n>=3){
for(int i=2;i<n;i++)
{
temp = f1+f2;
f1 = f2;
f2 = temp;
}
return temp;
}
else if (n==2){
return f2;
}
else if (n==1){
return f1;
}
return 0;
}
void mAndn(int m,int n)
{
int swop;
if (m>n){
swop = n;
n = m;
m = swop;
}
int temp= 1;
bool flag = true;
while (flag)
{
if (fib(temp)>=m && fib(temp)<=n)
{
cout<<"第"<<temp<<"个fib数: "<<fib(temp)<<endl;
temp++;
}
else if (fib(temp)>n){flag = false;}
else temp++;
}
}
void main()
{ int m,n;
cout<<"Please input m: "<<endl;
cin>>m;
cout<<"Please input n: "<<endl;
cin>>n;
mAndn(m,n);
cout<<"Continue..."<<endl;
}
// QQ: 79564727
// 申请请注明来者何人..
#include<iostream>
using namespace std;
int fib(int);
void mAndn(int,int);
int fib(int n)
{
int f1 = 2;
int f2 = 3;
int temp=0;
if (n>=3){
for(int i=2;i<n;i++)
{
temp = f1+f2;
f1 = f2;
f2 = temp;
}
return temp;
}
else if (n==2){
return f2;
}
else if (n==1){
return f1;
}
return 0;
}
void mAndn(int m,int n)
{
int swop;
if (m>n){
swop = n;
n = m;
m = swop;
}
int temp= 1;
bool flag = true;
while (flag)
{
if (fib(temp)>=m && fib(temp)<=n)
{
cout<<"第"<<temp<<"个fib数: "<<fib(temp)<<endl;
temp++;
}
else if (fib(temp)>n){flag = false;}
else temp++;
}
}
void main()
{ int m,n;
cout<<"Please input m: "<<endl;
cin>>m;
cout<<"Please input n: "<<endl;
cin>>n;
mAndn(m,n);
cout<<"Continue..."<<endl;
}
参考资料: 全手打..謝謝
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fib数列有公式,利用该公式就很好做了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-11-09
展开全部
啥子哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询