我輸入一個值 i 我要得到這個  i+ii+iii....有幾個i就加幾位數

解决方案 »

  1.   

    private long PlusI(int i)
            {
                long lReturn = 0;
                string strI = "";
                for (int j = 0; j < i; j++)
                {
                    strI = "";
                    for (int x = 0; x < i; x++)
                    {
                        strI = strI + i.ToString();
                    }
                    lReturn = lReturn + long.Parse(strI);
                }
                return lReturn;
            }
      

  2.   

    这难什么啊,前两天刚有人发了个帖子就是这个问题
                int num = 3;
                int final=num;
                int result=num;;
                //5 55 555 5555 55555
                for (int i = 1; i < num; i++)
                {
                    final = num + final * 10;
                    result=result+final;
                }
                Console.WriteLine(result.ToString());
                Console.Read();
      

  3.   


    给你写个函数int printi(int i)
    {
    int x=0;
    string str, stri;
    str="";
    stri=i.tostring();
    for(int n=0;n<i;n++)
    {
    str=str+stri;
    x=x+conver.toint32( str);}
    retun conver.toint32( str);
    }
      

  4.   


    public int Accumulation(int n)
            {
                int result =0; 
                for (int i = 1; i <= n; i++)
                {
                   result +=  InitNo(n, i);
                }
                return result;
            }
            public int InitNo(int n, int m)
            {
                string str = "" ;
                for (int i = 0; i < m; i++)
                    str += n.ToString();
                return int.Parse(str);
            }
      

  5.   


    void Main()
    {
    Console.WriteLine(Sum(2));  //3+33+333=369
    }int Sum(int n)
    {
       if(n<1) return 0;
       int m=0;
       int result=0;
       for(int i=1;i<=n;i++)
       {
          result +=int.Parse( new string(char.Parse(n.ToString()),i));
       }
       return result;
    }
      

  6.   

       private string getStr(int paramNum) {
            string result = "";        for (int i = 0; i < paramNum; i++)
            {
                for (int j = 0; j < i + 1; j++)
                {
                    result = result + paramNum.ToString();
                }            if (i != (paramNum - 1))
                {
                    result = result + "+";
                }
            }
            return result;
        }
    你是要的这种效果吗?
      

  7.   

    http://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp#hl=zh-CN&source=hp&q=C%23+%E8%B4%A8%E5%9B%A0%E6%95%B0&oq=C%23+%E8%B4%A8%E5%9B%A0%E6%95%B0&aq=f&aqi=&aql=&gs_sm=e&gs_upl=736l4667l0l5083l11l9l0l0l0l0l0l0ll0l0&fp=b350b8ba91d64c2f&biw=1153&bih=560
      

  8.   

    其實問題相當簡單的!
    控制台上輸入開始
    請輸入一個數值:
    好了我輸入一個3
    然後給我打印出來的是
    3+33+333=369
    然後打印出來的是
    369 是質數這是一種情況
    另外一種
    輸入2
    打印出來是2+22=24
    24=2x2x2x3可以實現嗎?其實那個
    q107770540
    已經把邏輯寫的很清晰了!只需要加工一下!
      

  9.   


        private string getStr(int paramNum) {
            string result = "";        for (int i = 0; i < paramNum; i++)
            {
                for (int j = 0; j < i + 1; j++)
                {
                    result = result + paramNum.ToString();
                }            if (i != (paramNum - 1))
                {
                    result = result + "+";
                }
            }
            result = result + "=";        int numSum = 0;
            for (int i = 1; i <= paramNum; i++)
            {
                numSum += int.Parse(new string(char.Parse(paramNum.ToString()), i));
            }
            result = result + numSum.ToString();
            result = result + " = " + getZhiYinshu(numSum);
            return result;
        }    private string getZhiYinshu(int number)
        {
            int sum = number;
            int[] str = new int[20];
            int k = 0;
            int flag = 1;
            for (int i = 2; ; i++)
            {
                for (int j = 2; j < i; j++)
                {
                    if (i % j == 0)
                    {
                        flag = 0;
                        break;
                    }
                }
                if (flag == 0)
                {
                    flag = 1;
                    continue;
                }
                while (true)
                {
                    if (number % i == 0)
                    {
                        number = number / i;
                        str[k] = i;
                        k++;
                    }
                    else
                        break;
                }
                if (number == 1)
                    break;
            }
            string print = "";        for (int j = 0; j < 20; j++)
            {
                if (str[j] != 0) {
                    print = print + int.Parse(str[j].ToString()) + "*";
                }
            }        return print.Substring(0,print.Length - 1);
        }
      

  10.   

    没做0的检查,没做溢出检查,不是很严谨,只是个示例:
    // 假设输入的值为number对应的值
    int number = 7;int sum = 0;
    for (int i = 0, temp = 0; i < number; i++)
    {
    temp += number * ((int) Math.Pow(10, i));
    sum += temp;
    Console.Write(temp);
    if (i < number - 1)
    Console.Write("+");
    else
    Console.Write("=");
    }
    Console.WriteLine(sum);
    结果:
    7+77+777+7777+77777+777777+7777777=8641969
      

  11.   

    原来还要进行质因数分解,下面用了最简单的一种分解算法:
    // 假设输入的值为number对应的值
    int number =7;int sum = 0;
    for (int i = 0, temp = 0; i < number; i++)
    {
    temp += number * ((int) Math.Pow(10, i));
    sum += temp;
    Console.Write(temp);
    if (i < number - 1)
    Console.Write("+");
    else
    Console.Write("=");
    }
    Console.WriteLine(sum);Console.Write("{0}=", sum);
    do
    {
    int factor = 2;
    while ((sum % factor) != 0)
    factor++;
    sum /= factor;
    Console.Write("{0}", factor); if (sum>1)
    Console.Write("*");
    } while (sum > 1);
    结果:
    7+77+777+7777+77777+777777+7777777=8641969
    8641969=7*127*9721