逻辑推理
…………………………收集中……………………
1、菲波那切数列(1,1,2,3,5,8,……)
Java代码:
//第一种 public static void fibo(int n){ int[] arr = new int[n]; for(int i=0;i<n&&i<2;i++){ arr[i] = 1; } for(int i=2;i<n;i++){ arr[i] = arr[i-1]+arr[i-2]; } System.out.println(Arrays.toString(arr)); } //第二种 public int fibo(int n){ int a = 1; int b = 1; int c = 0; if(n == 1 || n == 2){ return 1; } else{ for(int i=2;i<n;i++){ c = a + b; System.out.println(c); a = b; b = c; } return c; } }
solidity 代码:
1 //实现斐波那契数列 算法 1,1,2,3,5,8, 第一种方法 2 function fibo(uint data) returns(uint res){ 3 uint[] result; 4 result.push(1); 5 result.push(1); 6 if(res == 1 || res == 2){ 7 return 1; 8 } 9 else{ 10 for(uint i = 2;i<data;i++){ 11 result[i] = result[i-1]+result[i-2]; 12 } 13 return result[data-1]; 14 } 15 16 } 17 18 //实现斐波那契数列 算法 1,1,2,3,5,8, 第二种方法 19 function fibo1(uint data) returns(uint res){ 20 uint a = 1; uint b = 1; uint c = 0; 21 if(res == 1 || res == 2){ 22 return 1; 23 } 24 else{ 25 for(uint i = 2;i<data;i++){ 26 c=a+b; 27 a = b; 28 b = c; 29 } 30 return c; 31 } 32 33 }