北京善知堂android培训

善知堂,做中国最强悍android培训技术团。先就业,后付款
善良乃为人之本,知识是生存之道,善知堂是最优最实在的3G培训机构。
技术交流qq:1942623403
QQ群:202397984


1、用递归方法求斐波那契数列1,1,2,3,5,8,13,21,34,55..........上第10位的数字。
注意:(1)递归:方法自身调用
(2)把大任务降解为与之类似的规模更小的任务
(3)一定要找到退出递归的条件

public class T {
 public static void main(String[] args) {

  int i = f(9);
  System.out.println(i);

 }

 public static int f(int n) {

  if (n > 2) {
   return f(n - 2) + f(n - 1);
  } else {

   return 1;

  }

 }
}

2、1!+2!+3!+.........+(n-1)!+n!<=10000 用递归方法求n?
  
public class T {
 public static void main(String[] args) {
  int sum=0;
  int n=10;
  for(int i=0;i<n;i++){
   sum=f(i)+sum;
   if(sum>=10000){
    System.out.println(i-1);
    break;
   }
  }
  
  
 }

 public static int f(int n) {
  int m=0;  
  if(n<=1){
   return 1;
  }else{
   m=n*f(n-1);   
  }
  return m;
 }
}

 

posted on 2012-03-27 16:49  sztss  阅读(313)  评论(0)    收藏  举报

导航