shell-awk
[houchangren@ebsdi-23260-oozie shell]$ vim awk/fun_fibonacci2.awk ind =3‘ ind++; BEGIN{ function fibonacci(array,n,ind){ ind =3; while(ind<=n){ array[ind]=array[ind-1]+array[ind-2]; ind++; } } BEGIN{} /**code block*/ { array[1]=1; array[2]=1; n=$1; fibonacci(array,n); printf("%dth of fibonacci sequence is :%d\n",n,array[n]); } [houchangren@ebsdi-23260-oozie shell]$ echo -e "1\n3\n5\n10\n20\n30\n35\n50" |awk -f awk/fun_fibonacci2.awk 1th of fibonacci sequence is : 1 3th of fibonacci sequence is : 2 5th of fibonacci sequence is : 5 10th of fibonacci sequence is : 55 20th of fibonacci sequence is : 6765 30th of fibonacci sequence is : 832040 35th of fibonacci sequence is : 9227465 50th of fibonacci sequence is : 12586269025
java版本
package com.ruishenh.algoritmic; import java.math.BigInteger; public class Fibonacci { static Integer maxKey=2; public static void main(String[] args) { BigInteger[] bis=new BigInteger[100]; bis[0]=bis[1]=new BigInteger("1"); for (int i = 1; i < 100; i++) { fibonacci3(bis,i); System.out.println(i+"th is fibonacci is:"+bis[i-1]); // System.out.println(i+"th is fibonacci is:"+fibonacci(i)); } } static int fibonacci(int num){ if (num==1) { return 1; }else if(num>1){ return fibonacci(num-1)+fibonacci(num-2); } return 0; } static void fibonacci3(BigInteger[] arrays,Integer num){ while (maxKey<=num) { arrays[maxKey]=arrays[maxKey-1].add(arrays[maxKey-2]); maxKey++; } } }
结果
1th is fibonacci is:1 2th is fibonacci is:1 3th is fibonacci is:2 4th is fibonacci is:3 5th is fibonacci is:5 6th is fibonacci is:8 7th is fibonacci is:13 8th is fibonacci is:21 9th is fibonacci is:34 10th is fibonacci is:55 11th is fibonacci is:89 12th is fibonacci is:144 13th is fibonacci is:233 14th is fibonacci is:377 15th is fibonacci is:610 16th is fibonacci is:987 17th is fibonacci is:1597 18th is fibonacci is:2584 19th is fibonacci is:4181 20th is fibonacci is:6765 21th is fibonacci is:10946 22th is fibonacci is:17711 23th is fibonacci is:28657 24th is fibonacci is:46368 25th is fibonacci is:75025 26th is fibonacci is:121393 27th is fibonacci is:196418 28th is fibonacci is:317811 29th is fibonacci is:514229 30th is fibonacci is:832040 31th is fibonacci is:1346269 32th is fibonacci is:2178309 33th is fibonacci is:3524578 34th is fibonacci is:5702887 35th is fibonacci is:9227465 36th is fibonacci is:14930352 37th is fibonacci is:24157817 38th is fibonacci is:39088169 39th is fibonacci is:63245986 40th is fibonacci is:102334155 41th is fibonacci is:165580141 42th is fibonacci is:267914296 43th is fibonacci is:433494437 44th is fibonacci is:701408733 45th is fibonacci is:1134903170 46th is fibonacci is:1836311903 47th is fibonacci is:2971215073 48th is fibonacci is:4807526976 49th is fibonacci is:7778742049 50th is fibonacci is:12586269025 51th is fibonacci is:20365011074 52th is fibonacci is:32951280099 53th is fibonacci is:53316291173 54th is fibonacci is:86267571272 55th is fibonacci is:139583862445 56th is fibonacci is:225851433717 57th is fibonacci is:365435296162 58th is fibonacci is:591286729879 59th is fibonacci is:956722026041 60th is fibonacci is:1548008755920 61th is fibonacci is:2504730781961 62th is fibonacci is:4052739537881 63th is fibonacci is:6557470319842 64th is fibonacci is:10610209857723 65th is fibonacci is:17167680177565 66th is fibonacci is:27777890035288 67th is fibonacci is:44945570212853 68th is fibonacci is:72723460248141 69th is fibonacci is:117669030460994 70th is fibonacci is:190392490709135 71th is fibonacci is:308061521170129 72th is fibonacci is:498454011879264 73th is fibonacci is:806515533049393 74th is fibonacci is:1304969544928657 75th is fibonacci is:2111485077978050 76th is fibonacci is:3416454622906707 77th is fibonacci is:5527939700884757 78th is fibonacci is:8944394323791464 79th is fibonacci is:14472334024676221 80th is fibonacci is:23416728348467685 81th is fibonacci is:37889062373143906 82th is fibonacci is:61305790721611591 83th is fibonacci is:99194853094755497 84th is fibonacci is:160500643816367088 85th is fibonacci is:259695496911122585 86th is fibonacci is:420196140727489673 87th is fibonacci is:679891637638612258 88th is fibonacci is:1100087778366101931 89th is fibonacci is:1779979416004714189 90th is fibonacci is:2880067194370816120 91th is fibonacci is:4660046610375530309 92th is fibonacci is:7540113804746346429 93th is fibonacci is:12200160415121876738 94th is fibonacci is:19740274219868223167 95th is fibonacci is:31940434634990099905 96th is fibonacci is:51680708854858323072 97th is fibonacci is:83621143489848422977 98th is fibonacci is:135301852344706746049 99th is fibonacci is:218922995834555169026
原文:http://blog.csdn.net/ruishenh/article/details/19983507