一、列出Fibonacci数列的前N个数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Fibonacci
{
class Program
{
static void Main(string[] args)
{
cal();
cal2();
//运行结果相同
}
/*需求:列出Fibonacci数列的前N个数*/
//方案一:迭代N次,一次计算一项
public static void cal(int N)
{
int f1 = ;
int f2 = ;
int f = ;
for (int i = ; i <= N; i++)
{
if (i == )
{
Console.Write(f1);
Console.Write(" ");
}
else if (i == )
{
Console.Write(f2);
}
else
{
f = f1 + f2;
f2 = f1;
f1 = f;
Console.Write(" ");
Console.Write(f); }
}
}
//方案二:迭代N/2次,一次计算两项
public static void cal2(int N)
{
int f1 = ;
int f2 = ;
for (int i = ; i <= N / ; i++)
{
Console.Write(" ");
Console.Write(f1);
Console.Write(" ");
Console.Write(f2); f1 = f1 + f2;
f2 = f2 + f1;
}
}

二、求出Fibonacci数列第N个数字(递归)

namespace Fibonacci
{
class Program
{
static void Main(string[] args)
{
string N = Console.ReadLine();
int integer = Convert.ToInt32(N);
Console.WriteLine("{0}",F(integer)); }
/*需求:求出Fibonacci数列第N个数字*/ //递归
public static int F(int N)
{
if (N == )
return ;
if (N == )
return ;
else
return F(N - ) + F(N - );
}
}
}

三、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

问题分析:其兔子数目依旧是按1,1,2,3,5…的顺序进行排列。其本质仍为斐波那契数列。

解决:按照一中的方案二进行即可。

namespace Fibonacci
{
class Program
{
static void Main(string[] args)
{
//与方案二相同
string N = Console.ReadLine();
int integer = Convert.ToInt32(N);
int f1 = ;
int f2 = ;
for (int i = ; i <= integer; i++)
{
Console.Write("{0} {1}",f1,f2);
Console.Write(" ");
if (i%==)
Console.WriteLine("\n");
f1 = f1 + f2;
f2 = f2 + f1;
}
} }
}

若后续有相关问题,余则继续补充。

愿诸位朋友及时指正!

【算法】Fibonacci(斐波那契数列)相关问题的更多相关文章

  1. 递归算法之Fibonacci 斐波那契数列第n个数的求解

    Fibonacci 斐波那契数列第n个数的求解,也可以用递归和非递归的形式实现,具体如下,dart语言实现. int fibonacci(int n) { if (n <= 0) throw S ...

  2. 算法导论-求(Fibonacci)斐波那契数列算法对比

    目录 1.斐波那契数列(Fibonacci)介绍 2.朴素递归算法(Naive recursive algorithm) 3.朴素递归平方算法(Naive recursive squaring) 4 ...

  3. 剑指offer-第二章算法之斐波拉契数列(青蛙跳台阶)

    递归与循环 递归:在一个函数的内部调用这个函数. 本质:把一个问题分解为两个,或者多个小问题(多个小问题相互重叠的部分,会存在重复的计算) 优点:简洁,易于实现. 缺点:时间和空间消耗严重,如果递归调 ...

  4. Reverse反转算法+斐波那契数列递归+Reverse反转单链表算法--C++实现

    Reverse反转算法 #include <iostream> using namespace std; //交换的函数 void replaced(int &a,int & ...

  5. lintcode:Fibonacci 斐波纳契数列

    题目: 斐波纳契数列 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: 前2个数是 0 和 1 . 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, ...

  6. [BSGS算法]纯水斐波那契数列

    学弟在OJ上加了道"非水斐波那契数列",求斐波那契第n项对1,000,000,007取模的值,n<=10^15,随便水过后我决定加一道升级版,说是升级版,其实也没什么变化,只 ...

  7. Python算法_斐波那契数列(10)

    写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0,   F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 ...

  8. javascript:算法之斐波那契数列

    一 //1,1,2,3,5,8,13,21这个数列 斐波那契 数列(肥波哪弃) //得到第9项是几? /*******************************111111111递归的思想*** ...

  9. PHP算法之斐波那契数列(递归)

    /*斐波那契数列 源代码分析 f(x) = 1 ; 当 x < 2 ; f(x) = f(x-1)+f(x-2); 当 x >= 2 ; 通项式为:fn ={((1+根号5)/2)^n-( ...

  10. Fibonacci(斐波那契数列)的最佳实践方式(JavaScript)

    1)低级版本 var fibonacci = function(n) { if (n == 0 || n == 1) { return n; } else { return fibonacci(n - ...

随机推荐

  1. thinkphp5实现文章上一篇,下一篇

    写在控制器 //列表是按照根据id降序排列的,所以上一篇 $prv=Db::table('qy_article')->where('at_id','>',$at_id)->where ...

  2. 打造H5动感影集的爱恨情仇–动画性能篇

    “你听说过动感影集么?” 动感影集是QQ空间新功能,可以将静态的图片轻松转变为动态的视频集,且载体是HTML5(简称H5)页面,意味着可以随时分享到空间或朋友圈给好友欣赏! 移动端区别于PC年代的相册 ...

  3. POJ1036 Gangsters

    题目来源:http://poj.org/problem?id=1036 题目大意: 有N个强盗要进入一家饭店打劫,第i个强盗在Ti时刻到达,会抢到Pi的财产.饭店的门有K+1状态,门打开的程度为[0, ...

  4. code和pre竟然有区别!!!!

    坑爹的,今天复习基础,本来写了个获取样式,为了显示出我的代码,才发现了 code和pre标签竟然是不同的. 1.用 JS 的代码注释风格来说 code 就是 // , <pre> 就是 / ...

  5. (1009) HDU 6446 Tree and Permutation(规律+树上各个点的距离和)

    题意: 给一棵N个点的树,对应于一个长为N的全排列,对于排列的每个相邻数字a和b,他们的贡献是对应树上顶点a和b的路径长,求所有排列的贡献和. 分析: 经过简单的分析可以得知,全部的贡献其实相当与(这 ...

  6. sourceInsight4 破解笔记(完美破解)

    https://www.cnblogs.com/Napoleon-Wang/p/6706773.html 时隔好多年,sourceinsight4以迅雷不及掩耳之势的来了.与3.5相比,sourcei ...

  7. UiAutomator新建工程

    新建工程步骤: 1.打开Eclipse 2.新建一个java工程UiAutomatorDemo1,然后新建一个包com.hhb 3.选中java工程,右击新建文件夹,命名为libs,在D:\Andro ...

  8. cf314E. Sereja and Squares(dp)

    题意 题目链接 给你一个擦去了部分左括号和全部右括号的括号序列,括号有25种,用除x之外的小写字母a~z表示.求有多少种合法的括号序列.答案对4294967296取模.合法序列不能相交,如()[],( ...

  9. 【Python】python2 str 编码检测

    python2 str 编码检测 import chardet s = 'sdffdfd' print type(s) print chardet.detect(s) s2 = '反反复复' prin ...

  10. System Center Configuration Manager 2016 域准备篇(Part2)

    对于" 服务器角色",请选择" Active Directory域服务",当系统提示您添加Active Directory域服务所需的功能时,请选择" ...