斐波那契数列 打印,求和
2016-03-11 15:01
423 查看
// stl1-9-5.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; int fib2(int n); int fib(int n); const int gconst = 20; int _tmain(int argc, _TCHAR* argv[]) { // 打印数列前gconst项 == int ia[gconst] = { 0x0 }; cout << "第一种比较直观的方法:" << endl; ia[0] = 0; ia[1] = 1; for (int i = 2; i < gconst; i++) { ia[i] = ia[i - 2] + ia[i - 1]; // 保存数列 == } for (int i = 0; i < gconst; i++) { cout << ia[i] << " "; // 打印数列 == } cout << endl; cout << "用另一种方法输出数列:" <<endl; for (int i = 0; i < gconst; i++) { ia[i] = fib(i); // 保存数列 == } for (int i = 0; i < gconst; i++) { cout << ia[i] << " "; // 打印数列 == } cout << endl; for (int i = 0; i < gconst; i++) { cout << ia[i] << " "; } cout << endl; long sum = 0; for (int i = 0; i < gconst; i++) { sum += ia[i]; // 求和 == } cout << sum << " "; cout << endl; return 0; } // 输出数列值 == int fib2(int n) { if (n == 0) return 0; if (n == 1) return 1; return fib2(n - 1) + fib2(n - 2); } // 输出数列值 == int fib(int n) { int result[2] = { 0, 1 }; if (n < 2) return result ; int fibOne = 0; int fibTwo = 1; int fibN = 0; int i = 0; for (i = 2; i <= n; i++) { fibN = fibOne + fibTwo; fibOne = fibTwo; fibTwo = fibN; } return fibN; }
相关文章推荐
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- jquery-smartMenu 鼠标右键点击事件
- 【图的最短路径】迪杰斯特拉算法求图的最短路径
- Bzoj1818: [Cqoi2010]内部白点 && Tyvj P2637 内部白点 扫描线,树状数组,离散化
- Android EditText的设置
- 如何让光标处于EditText的末尾
- PostgreSQL学习记录-- 2016-03-11
- SQL server2012怎么备份数据库(设置自动备份)
- tomcat servlet 线程
- jquery.cookie中的操作
- C#:String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}...
- 如何查看hadoop是32位还是64位
- JDBC实例 Statement,PreparedStatement,CallableStatement三个方法的实例
- C++ RTTI 机制
- linux(centos6.5)安装开发环境jdk,tomcat.idea,git,maven,postgresql,rabbitmq
- Linux基础命令总结
- 个人介绍——海边的成长
- 实验0:了解和熟悉操作系统
- 实验0:了解和熟悉操作系统
- javascript基础笔记