求飞波那切数列的一个题目。就是一个数等于前两个数之和。写一方法,求第n个元素的值。
2012-12-05 14:48
316 查看
package test; /** * TODO求飞波那切数列的一个题目。就是一个数等于前两个数之和。写一方法,求第n个元素的值。 * 1,1,2,3,5,8,13,21。。。。 * 从1开始计算 * @author gx * @date 2012-11-30 下午05:23:26 */ public class sunfa { public int getSum(int n){ if(n<=0){ return -1;//n小于0返回-1表示出错 } if(n==1||n==2) return 1; int a =1; int b =1; int c =-1; for(int i=2;i<n;i++){ c = a+b; a = b; b = c; } return c; } public static void main(String[] args) { int sum5 = new sunfa().getSum(5); System.out.println(sum5); } }
相关文章推荐
- 一道爱出的题目,就是前面两个数相加 用递归方法实现
- 迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。
- 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,
- 题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
- 第十二周项编制递归函数fib(int n)返回第n个Fibnacci数,以此输出Fibnacci序列的第20个数。另:斐波那契数列就是前两项的和等于第三项的数列,如0,1,1,2,3,5..., 】
- 用CSS的方法如何让一个元素不可见?(面试题目)
- 一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1
- 输入两个整数n和m,从数列1,2,3,……n中随意取几个数,使其和等于m。要求将所有的可能组合列出来。实际上就是一个背包问题
- 题目:请给出一个运行时间为Θ(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。
- 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如6=1+2+3.编程找出1000以内的所有完数。
- 输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
- JS模式:策略模式,感觉就是一个闭包存储信息,然后是加一些验证方法--还看了老半天
- 清理浮动的三种常用方法以及如何居中一个浮动元素
- 练习 2.3-7 求一个元素是否为数组中两个数的和
- 一个睡五分钟等于六个钟头的方法
- 题目描述 给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长
- 9.3栈和队列(三)——设计一个栈,出pop与push方法,还支持 min方法,可返回栈元素中的最小值
- 空格替换 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一
- 实现一个容器,每次调用select()方法时,随机返回一个元素
- 一个中兴的面试题,输入两个数n和m,从数列1,2,3……n中随意取几个数,使其和等于m,要求将其中所有组合列出来编程求解(c语言递归函数分解法)