C++输出斐波那契数列的两种实现方法_C 语言

定义:

斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
这个数列从第三项开始,每一项都等于前两项之和。

以输出斐波那契数列的前20项为例:

方法一:
比较标准的做法,是借助第三个变量实现的。

复制代码 代码如下:

#include<iostream>  
using namespace std;
int main(){
    int f1=0,f2=1,t,n=1;
    cout<<"数列第1个:"<<f1<<endl;
    cout<<"数列第2个:"<<f2<<endl;
    for(n=3;n<=20;n++){
        t=f2;
        f2=f1+f2;
        f1=t;
    cout<<"数列第"<<n<<"个:"<<f2<<endl;
    }    
    cout<<endl;
    return 0;
}

方法二:
这是小编学习的时候自己想到的方法,可以通过两次加分,一次循环输出两个项。

复制代码 代码如下:

#include<iostream> 
using namespace std;
int main(){
    int f1=0,f2=1,t,n=1;
    cout<<"数列第一项:"<<f1<<endl;
    cout<<"数列第二项:"<<f2<<endl;
    for(n=2;n<10;n++){
     f1=f1+f2;
 cout<<"数列第"<<(2*n-1)<<"项:"<<f1<<endl;
 f2=f1+f2;
 cout<<"数列第"<<(2*n)<<"项:"<<f2<<endl;
    } 
 cout<<endl;
 return 0;
}

时间: 2024-08-23 04:01:09

C++输出斐波那契数列的两种实现方法_C 语言的相关文章

打印菱形以及斐波纳契数列的几种解法介绍_C 语言

1.编写程序,打印*菱形推出第i行要打印的空白个数及*号个数,用for循环依次打印各行 复制代码 代码如下: #include<stdio.h>//总共要打印2*n-1行,逐行打印void print1(int n){ int i,j; for(i=1;i<=n;i++){//打印1至n行  for(j=1;j<=n-i;j++)//打印n-i个空格      printf(" ");  for(j=1;j<=2*i-1;j++)//打印2*i-1个*号 

C语言求Fibonacci斐波那契数列通项问题的解法总结_C 语言

一:递归实现  使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. 二:数组实现  空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快. 三:vector<int>实现  时间复杂度是0(n),时间复杂度是0(1),就是不知道vector的效率高不高,当然vector有自己的属性会占用资源. 四:queue<int>实现  当然队列比数组更适合实现斐波那契数列,时间复杂度和空间复杂度和vector<int>一样

输出斐波那契数列的算法

斐波那契数列(Fibonacci polynomial),又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.-- 要求编程输出这样的一组数,比如输出10个数的序列 /** * @param i 第n个数 * @param j 第n+1个数 * @param n 输出个数 */ public static void ff( int i,int j,int n){ int m=1; System.out.print(i+","); while(m++<n)

打印菱形以及斐波纳契数列的几种解法介绍

1.编写程序,打印*菱形推出第i行要打印的空白个数及*号个数,用for循环依次打印各行 复制代码 代码如下: #include<stdio.h> //总共要打印2*n-1行,逐行打印 void print1(int n) { int i,j; for(i=1;i<=n;i++){//打印1至n行 for(j=1;j<=n-i;j++)//打印n-i个空格 printf(" "); for(j=1;j<=2*i-1;j++)//打印2*i-1个*号 prin

java实现斐波那契数列的3种方法_java

先说说为什么写这个吧,这个完全是由去阿里巴巴面试引起的一次惨目忍睹的血案.去面试的时候,由于面试前天晚上11点钟才到阿里巴巴指定面试城市,找到旅馆住下基本都1点多,加上晚上完全没有睡好,直接导致第二天面试效果很不好(对于那些正在找工作的大虾们不要向小虾一下悲剧,提前做好准备还是很重要滴),面试大概进行了一个多小时(面试结束回去的时候基本走路都快睡着了,悲催!!),面试快结束的时候面试官问的我问题就是关于费波那西数列,当时头脑完全浆糊,只知道要设置三个变量或者用List先初始化,当写到for循环的

c++输出斐波那契数列示例分享_C 语言

复制代码 代码如下: #include "stdio.h" int Feibo(int Num){if(Num == 1 || Num == 2){return 1;}else{return Feibo(Num - 1) + Feibo(Num - 2);}} void main(){int NumIn,i;scanf("%d", &NumIn);for(i=1;i<NumIn;i++){printf("%d ",Feibo(i))

[剑指Offer]11.斐波那契数列

题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.斐波那契数列的定义如下: 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n<=70). 输出: 对应每个测试案例, 输出第n项斐波那契数列的值. 样例输入: 3 样例输出: 2 /********************************* * 日期:2013-11-15 * 作者:SJF0115 * 题号: 题目1387:斐波那契数列 * 来源:http://ac

Raptor实践参考:斐波那契数列

返回->课程主页 2-7 斐波那契数列 输入整数n,输出斐波那契数列中的前n个数.斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233--这个数列前两项均为1,从第3项开始,每一项都等于前两项之和. [参考解答]

剑指offer系列之七:斐波那契数列

题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. 这题比较简单,直接AC代码如下: package com.rhwayfun.offer; public class Fibonacci { public int getN(int n){ if(n == 0){ return 0; }else if(n == 1){ return 1; } int one = 1; int two = 0; int sum = 0; for (int i = 2; i <=