1+11+111+1111+.....用递归算法怎么做 

解决方案 »

  1.   

    大哥,你这样的题目自己想想啊..  看看java基础  for循环的  在自己试着动手写啊   哪怕是花1天的时间去研究  我保证  只要你研究了一下 智商正常的话  自己能解决的   
       汗,实在写不出百度也一大堆啊 ....
      

  2.   

    如果你要循环一万次的话.....int num=0;
    for(int i=1;i<=10000;i++){
    num=num+i;
    out.print("1+"+i+"="+num);
    }
      

  3.   

    public float nextValue(int x){ 
        if(x=1) return 1; 
        return this.nextValue(x-1)+1*10^(x-1); 

    public float sumValue(int y){ 
        for(int i=0;i <y;i++){ 
              float sum=0.0f; 
              sum+=this.nextValue(i); 
            } 
    }
      

  4.   

    public class Test {
       public static void main(String[] args) {
          Caculte myCaculte = new Caculte(100000);
          int allSum = myCaculte.getSum();
          System.out.println(allSum); 
       }
       class Caculte{
         int sum = 0;
         int count = 0;
         int x;//你要循环的次数
         public Caculte(int x) {
           this.x = x;
         }
         public int getSum() {
                 for(int  i = 1; i < x;) {
                   sum += i;
                   count++;
                   for(int j = 0; j<count; j++) {
                       i = i + 10*count;
                    }  
                 }
            }
       }
    }
      

  5.   

    sum = 1;
    public void sum(){
                        sum += sum()*10 +1        }
      

  6.   


    //此例中的1
    int m;
    //循环次数
    int n;
    int sum;
    int i = 0;
    if(n == 1) {
      sum = m;
    }else {
      while(i<n) {
        int num = 0; 
        num = num * 10 + m;
        sum = sum + num;
        i++;
      }
    }
    System.out.println(m);
      

  7.   

    递归有两个要素:
    1.循环/自引用
    2.终止条件如1+11+111+1111public static void main(String args[]){
           System.out.println(getResult(1111))
    }
    public static int getResult(int endNum){
           if(endNum==1)  return 1;                      //终止条件
           else return getResult(endNum%10)+ endNum;     //循环/自引用     
    }没上机调,可能有错,大概就说个意思。
      

  8.   


    int i=1;
    int sum=0;
    int count=10000;//循环次数用来做递归
    int num=0;//记录方法调用次数
    public static int getSum()
    {
       num++;
       i=Integer.parseInt(i+"1");
       sum=sum+i;
      if(num<=10000)
       {
        getSum(); //递归调用
       }else
       {
        System.out.println(sum);
       }
    }个人觉得这个题目没必要使用递归做 可以使用循环!
      

  9.   

    这样的加法,不要用递归或者for之类的了吧,慢不说,还好资源
    抽象成数学公式啊!!!!学过高数没????唉