1、已知有一个数列f(0)=1,f(1)=4,f(n+2)=2*f(n+1)+f(n),其中n是大于0的正数,求f(10)的值。
分析:设x=n+2 => f(x)=2*f(n-1)+f(n-2)
1 public static void main(String[] args){ 2 3 System.out.println(F(10)); 4 } 5 6 public static int F(int n){ 7 if(n==0){ 8 return 1; 9 }else if(n==1){ 10 return 4; 11 }else{ 12 return 2*F(n-1)+F(n-2); 13 } 14 }
2、这里有一个将10进制正整数转换成二进制
1 public static void main(String[] args){ 2 3 System.out.println(Fn(100)); 4 } 5 6 7 public static String Fn(int n){ 8 if(n==0){ 9 return ""; 10 } 11 else{ 12 return Fn(n/2)+n%2; 13 } 14 }