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;
}
相关推荐
-
python实现斐波那契数列的方法示例
介绍 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下递归的方法定义: F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) . 1. 元组实现 fibs = [0, 1] for i in range(8): fibs.append(fibs[-2] + fibs[-1]) 这能得到一个在指定范围内的斐波那契数列的列表. 2. 迭代器实现 class Fibs: def __init__
-
C语言使用普通循环方法和递归求斐波那契序列示例代码
复制代码 代码如下: #include <stdio.h> int fac(int x); int main(void){ int n; scanf("%d", &n); if (n == 1 || n == 2) printf("1\n"); else if (n == 3) printf("2\n"); else { int last = 1;
-
python实现斐波那契递归函数的方法
本文以一个简单的实例讲述了python实现斐波那契数列数列递归函数的方法,代码精简易懂.分享给大家供大家参考之用. 主要函数代码如下: def fab(n): if n==1: return 1 if n==0: return 0 else: result=int(fab(n-1))+int(fab(n-2)) return result 测试代码如下: for i in range(10): print fab(i) 希望本文所述对大家Python程序设计的学习有所帮助.
-
求斐波那契(Fibonacci)数列通项的七种实现方法
一:递归实现使用公式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>一样,但队列太适合这里了,
-
用Python实现斐波那契(Fibonacci)函数
Fibonacci斐波那契数列,很简单,就是一个递归嘛,学任何编程语言可能都会做一下这个. 最近在玩Python,在粗略的看了一下Learning Python和Core Python之后,偶然发现网上有个帖子Python程序员的进化写的很有意思.于是打算仿照一篇,那篇帖子用了十余种方法完成一个阶乘函数,我在这里会用九种不同的风格写出一个Fibonacci函数. 要求很简单,输入n,输出第n个Fibonacci数,n为正整数 下面是这九种不同的风格: 1)第一次写程序的Python程序员: de
-
c#斐波那契数列(Fibonacci)(递归,非递归)实现代码
//Main 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Fibonacci{ class Program { static void Main(string[] args) { Console.WriteLine("Would you like to know which
-
php实现斐波那契数列的简单写法
斐波那契数列是非常常见的一类数列,其数学定义为:F0=1,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*).本文就用php来简单实现斐波那契数列,代码十分简洁易懂,如下所示: <?php $arr[1] = 1; for($i = 2;$i < 100;$i++) { $arr[$i] = $arr[$i-1] + $arr[$i-2]; } echo join(",",$arr);//将数组合并为一个字符串输出 ?> 至此就实现了Fn=F(n-
-
python求斐波那契数列示例分享
复制代码 代码如下: def getFibonacci(num): res=[0,1] a=0 b=1 for x in range(0,num): if x==a+b: res.append(x) a,b=b,a+b return res res=getFibonacci(1000)print(res) #递归a=[0,1]qian=0def fibna(num,qian): print(num) he=num+qian if he<1000: a.append(he) qian
-
php处理斐波那契数列非递归方法
我自己构思了下,实际上程序来解决这个事情,就是一个偏移量的问题.首先看数列::1.1.2.3.5.8.13.21.34数列的下一个数是前2个数字之和,以此类推. 程序处理的话,实际上就是一个FOR语句,传统FOR语句是for($i=1;$i;$count,$i++),这里的偏移量是$i=$i+1.如果处理这个数列的话,这个偏移量就不是1了,是前1个数字.那么当你for的时候,一个变量记录上一个数字,另外一个记录当前数字,偏移量为这上一个数字,然后在循环中重新赋值,将上一个数字记录成当然循环值,以
-
java实现斐波那契数列的3种方法
先说说为什么写这个吧,这个完全是由去阿里巴巴面试引起的一次惨目忍睹的血案.去面试的时候,由于面试前天晚上11点钟才到阿里巴巴指定面试城市,找到旅馆住下基本都1点多,加上晚上完全没有睡好,直接导致第二天面试效果很不好(对于那些正在找工作的大虾们不要向小虾一下悲剧,提前做好准备还是很重要滴),面试大概进行了一个多小时(面试结束回去的时候基本走路都快睡着了,悲催!!),面试快结束的时候面试官问的我问题就是关于费波那西数列,当时头脑完全浆糊,只知道要设置三个变量或者用List先初始化,当写到for循环的
随机推荐
- 利用jQuery.Validate异步验证用户名是否存在(推荐)
- vue.js入门教程之基础语法小结
- 正确开启Win2008远程桌面的方法
- Javabean简介_动力节点Java学院整理
- Java实现双向链表(两个版本)
- Oracle创建Database Link的两种方式详解
- ORACLE常用数值函数、转换函数、字符串函数
- Javascript 判断函数类型完美解决方案
- javascript中返回顶部按钮的实现
- ASP.NET数据库存取图片的方法
- E路文章系统PHP
- 基于php伪静态的实现详细介绍
- 详解在Python程序中解析并修改XML内容的方法
- ASP 递归调用 已知节点查找根节点的函数
- 千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
- js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
- 详解Python中的元组与逻辑运算符
- 详解Spring学习之声明式事务管理
- Web开发者必备的12款超赞jQuery插件
- 用按钮触发Javascript动态生成一个表格的代码