输出m到n之间的所有Fibonacci数

mac2025-07-13  5

【问题描述】

输入2个正整数m和n(m≥1,n≤10000),输出m到n之间所有的Fibonacci数Fibonacci数列(第一项起):1,1,2,3,5,8,13,21…

【输入形式】

从键盘输入2个整数m和n,以空格分隔。

【输出形式】

输出m到n之间所有的Fibonacci 数,以空格分隔。

【样例输入1】

20 100

【样例输出1】

21 34 55 89

【样例输入2】

50 300

【样例输出2】

55 89 144 233

#include<iostream> using namespace std; int Fibonacci(int x); int main() { int m,n,x=1; //定义函数项数x cin>>m>>n; //输入范围m,n do //运用do-while或while循环因为不知道循环次数,只知道结束条件 { //当函数值位于m,n之间时输出 if((Fibonacci(x)>=m)&&(Fibonacci(x)<=n)) { cout<<Fibonacci(x)<<' '; } x=x+1; //x加一 }while(Fibonacci(x)<=n); return 0; } int Fibonacci(int x) //定义Fibonacci数列的函数(递归) { int t; //定义返回值 if(x==1||x==2) t=1; //初始两项为1 else t=Fibonacci(x-1)+Fibonacci(x-2); //后每一项=前两项之和 return t; }
最新回复(0)