用代码写出 :  2+22+222+2222+22222+222222  即  n+(n*10+n)+....

解决方案 »

  1.   

    #include math
    main(){
      int n=2;
      for(int i=1;i<6;i++)
        {
          for(int m=1;m<i;m++)
            {
             n+=n*10
            }
             print("%d+",n)
            
        }
    }
    我随手写了一个。你看可以不。是C++写的。很久没有用过了。
    如果有问题,你就做个参考。
      

  2.   


    long f1(long a,long n)
    {
    if(n==1){
    return a;}

    else
    {return (10*f1(a,n-1)+a);}}
    long f2(int n)
    {
    long r=0;
    int i;
    for(i=1;i<=n;i++)
    {r+=f1(2,i);
    return r;}
    }
    }
      

  3.   

    public class Test {    public static void main(String[] args) {
            // 计算 2 + 22 + 222 + 2222 + 22222
            System.out.println(add(2, 5));
        }
        
        /**
         * 计算 2 + 22 + 222 的值
         * @param num       不断增加的数字
         * @param digit     总共的位数
         * @return
         */
        public static int add(int num, int digit) {
            int n = 0;        
            for(int i = 1; i <= digit; i++) {
                n = n * 10 + i * num;
            }
            return n;
        }
    }
      

  4.   

    package org.leelin.demo;public class Test01 {
    public static void main(String[] args) {
    System.out.println(getSum(2,8));
    } private static long getSum(int i, int j) {
    long sum=0;
    for(int x=1;x<=j;x++){
    long temp=0;
        for(int k=0;k<=x-1;k++)
         temp=temp*10+i;
        sum+=temp;
    }
    return sum;
    }
    }
      

  5.   

    public static void math(int num,int count){
    int result=0 ;
    int result2=0 ; 
    String str1="";
    for(int i=1;i<=count;i++){
    result=(result/num)*num*10+num;
    result2+=result;
    str1+=result+"+";
    }
    System.out.println(str1.subSequence(0, str1.length()-1)+"="+result2) ;

    }
      

  6.   


    k = 0;
    sum = 0;
    for (i = 1 ; i <= count; ++i) {
      k = k * 10 + num;
      sum += k;
    }不用雙重循環吧...遞歸更沒必要
      

  7.   


    我觉得下面写法更容易理解public class Mutil_2_22_222{
        public static int add(int num, int rows)       
        {
            int n=0;                                                                                                                                                        
            for(int row= 1; row <=rows; row++)
            {
                n = n * 10 + row * num;                //好理解的方法             
            }                                                       //
               return n;                                            //   22
        }                                                           //  222
                                                                    // 2222
                                                                    //22222
        public static void main (String[] args)
        {
         // 计算 2 + 22 + 222 + 2222 + 22222
              System.out.println (add(2,5));
        }
    }