目录

  • C++计算1到100累加和的方法
    • 累加和的方法
      • 1. 使用for循环
      • 2. 使用while循环
      • 3. 使用do-while循环
      • 4. 使用数学公式(高斯求和公式)
      • 5. 使用递归函数
      • 6. 使用STL accumulate算法
      • 7. 使用并行计算(C++17及以上)

C++计算1到100累加和的方法

累加和的方法

1. 使用for循环

int sum = 0;
for (int i = 1; i <= 100; ++i) {
    sum += i;
}
cout << "Sum is: " << sum << endl;

2. 使用while循环

int sum = 0;
int i = 1;
while (i <= 100) {
    sum += i;
    ++i;
}
cout << "Sum is: " << sum << endl;

3. 使用do-while循环

int sum = 0;
int i = 1;
do {
    sum += i;
    ++i;
} while (i <= 100);
cout << "Sum is: " << sum << endl;

4. 使用数学公式(高斯求和公式)

int sum = 100 * (100 + 1) / 2;
cout << "Sum is: " << sum << endl;

5. 使用递归函数

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

int sum = sumToN(100);
cout << "Sum is: " << sum << endl;

6. 使用STL accumulate算法

#include <numeric>
#include <vector>

vector<int> nums(100);
iota(nums.begin(), nums.end(), 1); // 填充1-100
int sum = accumulate(nums.begin(), nums.end(), 0);
cout << "Sum is: " << sum << endl;

7. 使用并行计算(C++17及以上)

#include <execution>
#include <numeric>
#include <vector>

vector<int> nums(100);
iota(nums.begin(), nums.end(), 1);
int sum = reduce(execution::par, nums.begin(), nums.end());
cout << "Sum is: " << sum << endl;

这些方法各有特点,从简单的循环到数学公式,再到高级的STL算法和并行计算,可以根据具体需求选择合适的方法。

更多推荐