用C#编程并写出最终结果n+(n-1)+(n-2)+...+1(n=100)上大学的时候算法没好好学。
有点坑。。求大神的解法。

解决方案 »

  1.   

    不就是从1加到100吗,一个for循环就完了,或者直接用Linq的Sum
    把100拿开,前面头尾拼成一对(n-1)+1,(n-2)+2...
    100 + 100 * (99/2) + (99/2 + 1) = 100 * 50 + 50 = 5050;
      

  2.   

    建议先学数学吧。话说那个说用for循环是在坑人啊
      

  3.   

    int sum = 0;
    for (int n = 100; n >= 0; n--)
    {
        sum += n;
    }
    Console.WriteLine(sum);
      

  4.   


    其实这个基础跟编程没有直接关系,主要是看你的数学逻辑知识。当一个人从初中数学水平迈入高中数学水平(或者大学一年级水平),他就不应该这样写公式了。他学到的所有数学知识都是函数推导式的。如果你写不出
        
          T(n) = n + T(n-1)  ;  n > 1
         T(1) = 1你就不太可能学会简单的算术程序设计,因为不会识别函数公式。
      

  5.   

                   int process(int n)
    {
    if(n <1)
    throw new Exception("n can't be less than 1!");
    if(n == 1)
    return n;
    else
    return process(n-1)+n;
    }
      

  6.   

    public int Fuction1(int n)
    {
      return  n*(1 + n) / 2;
    }这才是考官想要的答案
      

  7.   

       private void Form1_Load(object sender, EventArgs e)
            {
                MessageBox.Show(AddSum(100).ToString());
            }        private int AddSum(int a)
            {
                a -= 1;
                if (a > 1)
                {
                    return a + AddSum(a);
                }
                else
                {
                    return a;
                }
            }
      

  8.   

    int sum = 0;
    for (int n = 100; n >= 0; n--)
    {
        sum += n;
    }或者简单点。。int sum=0;
    sum=((n+1)*n)/2;
    就这么简单
      

  9.   

    int n=0;
    忘记初始化n了,sorry
      

  10.   

                int n =100;
                int i=n-1;
                int a=0;
                for(n=100;i<100;i--)
                 {
                     if (i == 0)
                         break; 
                    a+=n-i;
                 }
                MessageBox.Show(a.ToString());我写的,测试了下,结果4950.
      

  11.   

    怎么坑了,要我是用for了
    貌似N应该大于等于1.
      

  12.   


    其实这个基础跟编程没有直接关系,主要是看你的数学逻辑知识。当一个人从初中数学水平迈入高中数学水平(或者大学一年级水平),他就不应该这样写公式了。他学到的所有数学知识都是函数推导式的。如果你写不出
        
          T(n) = n + T(n-1)  ;  n > 1
         T(1) = 1你就不太可能学会简单的算术程序设计,因为不会识别函数公式。貌似n应该大于等于1。