经典算法大全之费式数列
背景说明
算法说明
解法
public class 费式数列 {/*** @author Helen* Nov 21, 2014 10:30:46 AM* @param args* void* TODO*/public static void main(String[] args) {int n;Scanner input=new Scanner(System.in);System.out.println("请输入N:");n=input.nextInt();input.close();long t=System.currentTimeMillis();cal(n);System.out.println();System.out.println("cal耗时:"+(System.currentTimeMillis()-t));t=System.currentTimeMillis();for (int i = 1; i < n; i++) {System.out.print(cal2(i)+",");}System.out.println();System.out.println("cal2耗时:"+(System.currentTimeMillis()-t));}public static void cal(int n){int[] Fib=new int[n];//f(n)=n,if n=0,n=1Fib[0]=0;Fib[1]=1;//f(n)=f(n-1)+f(n-2),if n>=2for (int i = 2; i < Fib.length; i++) {Fib[i]=Fib[i-1]+Fib[i-2];}for (int i : Fib) {System.out.print(i+",");}}/*** * @author Helen* Nov 21, 2014 11:13:56 AM* @param n* @return* int* TODO 递归(耗时)*/public static int cal2(int n){if(n==0||n==1){return n;}else{return cal2(n-1)+cal2(n-2);}}
}
第一种是常规算法,每次都将计算后的数保存到一个数组里面,这样在计算第N个数的时候就可以从数组里直接取出第N-1和第N-2的数了;第二种递归算法是比较耗时的,可以看出第二种每次计算第N个数时,它都要从第0(或1)个开始算起。
经典算法大全之费式数列相关推荐
- c语言 兔子数列螺线图,经典算法大全51例——2.斐波那契数列(兔子数列)
经典算法大全51例--2.斐波那契数列 算法目录合集 地址 说明 题目 原理分析 代码实现--Java 相关题目其他变形: 1.爬楼梯(来源:力扣LeetCode) 2.兔子成熟期拉长 官方题解 分析 ...
- JAVA经典算法大全
JAVA经典算法大全 from http://java-mans.iteye.com/blog/16457031.河内之塔 2.Algorithm Gossip: 费式数列. 3.巴斯卡三角形 4.A ...
- 【经典算法大全】收集51种经典算法 初学者必备
<经典算法大全>是一款IOS平台的应用.里面收录了51种常用算法,都是一些基础问题.博主觊觎了好久,可悲哀的是博主没有苹果,所以从网上下了老奔的整理版并且每个都手敲了一遍. 虽然网上也有博 ...
- 计算机语言算法大全,经典算法大全
标签: 算法 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求 ...
- 经典算法大全51例——3.杨辉三角(又称帕斯卡三角形)
经典算法大全51例--3.杨辉三角(又称帕斯卡三角形) 算法目录合集 地址 说明 题目以及个人题解 原理分析 思路一--纵向寻踪 思路二--横向寻踪 代码实现--Java 方式一--纵向寻踪 方式二- ...
- 经典算法大全51例——56.老鼠走迷官
经典算法大全51例--5&6.老鼠走迷官 算法目录合集 地址 说明 题目以及个人题解 说明 题目 原理分析 问题① 原理 代码实现--Java 问题② 原理 代码实现--Java 相关题目其他 ...
- 经典算法问题 - 最大连续子数列和
转载自:https://www.cnblogs.com/conw/p/5896155.html 最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续 ...
- c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf
c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...
- 经典算法——斐波那契数列
斐波那契数列的经典解法是采用递归的方式: f(n)=f(n-1)+f(n-2) n>2 f(1)=1 n=1 f(2)=1 n=2 按照这个思路可以写出递归算法: #in ...
- C语言中经典算法——斐波那契数列的几种算法
斐波那契数列的递推公式: 我们尝试计算斐波那契数列的第n项并输出. 1.递归法 #include<stdio.h> int fib(int m) {if(m>=3){return f ...
最新文章
- 三十之惑–面霸的八月(第二部分)
- DSML:深度子空间相互学习模型(用于癌症亚型预测)
- CRM产品主数据在行业解决方案industry solution中的应用
- tomcat怎么平滑更新项目_tomcat_deploy 平滑启动脚本
- 计算机教授丁三石,一次难忘的计算机课!!
- Codeforces Round #246 (Div. 2) D. Prefixes and Suffixe 后缀数组
- Android编程之如何取得View的当前位置
- 修改web.conf不重启服务的方法
- curl header设置参数
- 小程序-Hello World
- 酷派无线升级服务器设置在哪里,酷派手机CDA自助升级线刷工具安装教程
- WPS加载项部署运行问题排查方法
- 频谱泄漏 matlab,频谱泄漏与窗函数.ppt
- android 11.0 12.0去掉前置摄像头闪光灯功能
- ae教程 (五)滤镜特效 (五)描边光效
- 需要程序猿了解的 89 个操作系统核心知识
- Unity最新版打包AssetBundle和加载的方法
- 1471_TC275的内核种类以及ID判断
- windows10下安装MSYS2+MinGW64
- Java图片处理 - 复制