题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。求C#算法,谢谢

解决方案 »

  1.   

    int Sum(int N)
    {
    if(N=1) return N;
    else return Sum(N-1)+N;
    }
      

  2.   

    本帖最后由 caozhy 于 2011-07-24 21:20:00 编辑
      

  3.   

    我考虑用递归public static int Sum(int n)
    {
              int  temp+= Sum(n - 1) + n;
              
                return temp;
    } 边界条件n>0没法判断
      

  4.   

    这个回复 和我在MSDN的很像 哈哈
    http://social.microsoft.com/Forums/zh-CN/visualcshartzhchs/thread/5edd1cc6-8d32-4d3f-a285-b32e94dda52e
      

  5.   

    这个的底层应该有各种的乘法和if吧return n > 0 ? sum(n-1)+n : 0 ;
      

  6.   

    int Sum(int N)
            {
                return N == 1 ? N : Sum(N - 1) + N;
                 
            }
      

  7.   

    就是这个答案,
             private static int  GetSum(int n)
            {           
                int i = Enumerable.Range(1, n).Sum();
                return i;
            }
      

  8.   

    因为不让用  if else  public static int Sum(int n)
    {
      int temp+= Sum(n - 1) + n;
        
      return temp;
    }我想问 Sum(1)是多少? 
      

  9.   

    是啊。所以督察是LINQ牛人兼版主嘛。