python输出fibonacci数列的前30项,编程求fibonacci数列前20项
南阳OJ-13号时间限制:3000毫秒,空间限制:65535KB
描述无穷数列1,1,2,3,5,8,13,21,34,55…称为斐波纳契数列,它可以递归地定义为
F(n)=1 …….(n=1或n=2)
F(n)=F(n-1) F(n-2)….(氮气)
现要你来求第n个斐波纳奇数。(第一个、第二个都为1)
输入第一行是一个整数男(m5)表示共有m组测试数据
每次测试数据只有一行,且只有一个整形数氮氧化物
输出对每组输入n,输出第n个斐波纳契数
样例输入3
一
3
5
样例输出一
2
5
java **时间46,内存311**
导入Java。util。扫描仪;public class Main { public static void Main(String[]args){ Scanner CIN=new Scanner(system。在);int a=CIN。nextint();内部温度;for(int n=0;na;{ temp=CIN。nextint();系统。出去。println(Fibonacci(temp));} }公共静态int Fibonacci(int n){ if(n==1){ return 1;} else if(n==2){ return 1;} else { return Fibonacci(n-1)Fibonacci(n-2);} }} **时间25,内存311**
导入Java。util。扫描仪;public class Main { public static void Main(String[]args){ Scanner CIN=new Scanner(system。在);int a=CIN。nextint();内部温度;for(int n=0;na;{ temp=CIN。nextint();系统。出去。println(Fibonacci(temp));}/* * */CIN。close();/* * */} public static int Fibonacci(int n){ if(n==1){ return 1;} else if(n==2){ return 1;} else { return Fibonacci(n-1)Fibonacci(n-2);} }}主动关闭Scanner流会节省时间!!!
**时间24,内存311**
导入Java。util。扫描仪;public class Main _ 13 { public static void Main(String[]args){ Scanner CIN=new Scanner(system。在);int a=CIN。nextint();内部温度;while(A0){ temp=CIN。nextint();系统。出去。println(Fibonacci(temp));a-;} CIN。close();} public static int Fibonacci(int n){ if(n==1){ return 1;} else if(n==2){ return 1;} else { return Fibonacci(n-1)Fibonacci(n-2);} }}将for改成while节省1时间!!!
**时间3,内存61**
依旧是用户名为布赖恩的一大神给出的算法,投币看代码~
导入Java。util。扫描仪;公共类Main {公共静态扫描器CIN=新扫描器(系统。在);public static void main(String[]args){ int line=0;整数=CIN。nextint();for(int I=0;我数;I){ line=CIN。nextint();系统。出去。println(f(line));} } static int f(int I){ if(I=2 I=0){ return 1;} return f(I-1)f(I-2);}}将数据转换为 static 类型的重要性!!!(且扫描仪主动关闭与否不影响时间)
**时间1,内存61**
谷歌出来的算是最高效的算法了,2017.2.3标记下,看不懂~
导入Java。io。缓冲阅读器;导入Java。io。io异常;导入Java。io。inputstreamreaderpublic class Main { public static buffered reader in=new buffered reader(new InputStreamReader(system。in));公共静态void main(String[] args)抛出io异常{ int lineNum=main。readint();int f1=1;int F2=1;int fn=0;for(int I=0;我lineNumI){ int num=main。readint();if(num=2){ system。出去。println(f1);} else { f1=1;F2=1;for(int j=3;j=numj){ fn=f1 F2;f1=f2f2=fn}系统。出去。println(fn);} }在。close();} public static int readInt()抛出io异常{ String str=in。readline();int num=整数。parse int(str);退货数量;}} c时间0,内存240
# includeiostream使用命名空间stdint f(int I){ if(I=2 I=0){ return 1;} return f(I-1)f(I-2);} int main(){ int a;CIN a;内部温度;for(int I=0;我a;我){ cin温度;cout f(temp)endl;}}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。