求1 + 2 + ... + n 前n项和

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AK_97_CT/article/details/88836647

1、循环求法

int getSumWithIteration(int n)
  {
      int sum = 0;
      while(n > 0)  sum += n--;
      return sum;
  }

2、递归求法

  int getSumWithRecursion(int n)
  {
      if(n == 0) return 0;
      return getSumWithRecursion(n - 1) + n;
  }

3、DP求法

  int getSumWithDP(int n)
  {
      int nums[n];
      nums[0] = 1;
      for(int i = 1; i < n; i ++)     nums[i] = i + 1 + nums[i - 1];
      return nums[n - 1];
  }

4、数学公式求法

    int getSumWithMath(int n)
    {
        return (n + 1) * n / 2;
    }

猜你喜欢

转载自blog.csdn.net/AK_97_CT/article/details/88836647