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 : 12586269025java版本
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