c++-C++用递归方式求费波拉契数列前20项,要求每5个一行

问题描述

C++用递归方式求费波拉契数列前20项,要求每5个一行

用递归方式求费波拉契数列前20项,要求每5个一行
费波拉契数列是指,第一第二项都是1,后面每一项是前两项之和,1,1,2,3,5,8,13,...

解决方案

Long F(int n)
{if(n==1||n==2) return(1L);
else return(F(n-2)+F(n-1));
}

解决方案二:

方法就是这个,然后自己分行吧

解决方案三:

#include

using namespace std;

int f[21];
int F(int x)
{
if (f[x]) return f[x];
f[x] = F(x-1) + F(x-2);
return f[x];
}
int main()
{
f[1] = f[2] = 1;
for (int i = 1; i <= 20; ++i)
f[i] = F(i);
for (int i = 0; i < 4; ++i)
{
for (int j = 1; j <= 5; ++j)
cout << f[i*5+j] << " ";
cout << endl;
}
return 0;
}


时间: 2024-08-18 07:09:21

c++-C++用递归方式求费波拉契数列前20项,要求每5个一行的相关文章

c++-请问C++费波拉契数列的打印,用递归的方法实现,用程序框图的表示法是什么呢?

问题描述 请问C++费波拉契数列的打印,用递归的方法实现,用程序框图的表示法是什么呢? 请问C++费波拉契数列的打印,用递归的方法实现,用程序框图的表示法是什么呢? 解决方案 http://my.oschina.net/000quanwei/blog/402844 解决方案二: 菲波拉契数列的递归实现和非递归实现

哪个大婶能不能教会我如何用递归计算费波拉契数列的程序?要注释的

问题描述 哪个大婶能不能教会我如何用递归计算费波拉契数列的程序?要注释的 哪个大婶能不能教会我如何用递归计算费波拉契数列的程序?要注释的 解决方案 void foo(int x, int y) { if (x > 1000) return; if (x == y && x == 1) { printf("%d %d ", 1, 1); foo(x + y, x); return; } else { printf("%d ", x); foo(x

循环体-求斐波拉契的第n项的值,迭代实现

问题描述 求斐波拉契的第n项的值,迭代实现 实现代码如下(利用迭代): long diedai(int n) { long result; long p_result; long n_result; result=p_result=1; //这一段表达的斐波拉契数列第n项的值 while(n>2) { n-=1; n_result=p_result;//把前一项的值赋给前一项的前一项 p_result=result; // result=p_result+n_result;//结果等于前一项加上

java数学归纳法非递归求斐波那契数列的方法_java

本文实例讲述了java数学归纳法非递归求斐波那契数列的方法.分享给大家供大家参考.具体如下: Integer能表示的最大值为 2147483647 大概是21.4亿,这里没有考虑溢出情况(当size为983时就会溢出)! import java.util.List; import java.util.ArrayList; /** * @author jxqlovejava * 斐波那契数列 */ public class Fibonacci { public static List<Intege

递归形式与非递归形式的斐波那契数列的用法分析_C 语言

复制代码 代码如下: <SPAN style="FONT-SIZE: 32px">采用递归形式和非递归形式实现斐波那契数列</SPAN> 复制代码 代码如下: #include "stdafx.h"#include <iostream>using namespace std;//递归形式的斐波那契数列int fibonacciRecursion(int n){ if (n == 1 || n ==2) {  return 1; }

利用Redis缓存提高斐波拉契数列程序的性能例子

去某家公司面试,PHP岗位,先做笔试,再两轮面试,最后hr面,拿了offer.   笔试题都不难,做完随手拍了一张,然后回去把这道求斐波那契数列的题在电脑上运行了一遍,写的当然是对的,但是当你要求第N位,当N大于60的时候就会非常慢了,后来就想着用Redis缓存来优化性能,效果非常惊人!     我把题目改了一下,也是要用递归,但是是要列出从0到n的斐波那契数列,并且用Redis缓存.   思路很简单,每次取第n的值的时候判断Redis有没有,有就不用再去计算了,没有就计算一次存下来,大大减少计

c语言-用C语言证明费波拉契数列中Fn+1/Fn等于黄金分割。要求有输入输出

问题描述 用C语言证明费波拉契数列中Fn+1/Fn等于黄金分割.要求有输入输出 用C语言证明费波拉契数列中Fn+1/Fn等于黄金分割.要求有输入输出 解决方案 int foo(int n) { if (n == 1 || n == 2) return 1; return foo(n - 1) + foo(n - 2); } int main() { for (int i = 1; i < 20; i++) { cout << foo(i) / (double)foo(i + 1) <

c语言-用C语言证明费波拉契数列中Fn/Fn+1等于黄金分割。要求有输入输

问题描述 用C语言证明费波拉契数列中Fn/Fn+1等于黄金分割.要求有输入输 用C语言证明费波拉契数列中Fn/Fn+1等于黄金分割.要求有输入输出 解决方案 int foo(int n) { if (n == 1 || n == 2) return 1; return foo(n - 1) + foo(n - 2); } int main() { for (int i = 1; i < 20; i++) { cout << foo(i) / (double)foo(i + 1) <

【数学题】斐波拉契数列!

兔子的繁殖能力很强,一对兔子每过一个月会生一对小兔子.而刚出生的一对小兔子经过一个月后长大,再过一个月生出一对小兔子.如果从刚生的一对兔子算起,一年后总共有多少对兔子? 答案:233对.每个月结束时,兔子的对数:1  12  23  34  55  86  137  218  349  5510 8911 14412 233设数列{An}={1,2,3,5,8--}={A1,A2--An-1,An}.则An=An-1+An-2(下标)第n月结束时兔子对数=n-1月兔的对数+新生兔子对数.新生兔对