c++尝试用多种方法实现1+2+3+……+100代码
时间: 2024-10-03 17:02:59 浏览: 30
在C++中,计算1到100的所有整数之和可以使用循环结构(如for、while或do-while)来实现。这里有几种常见的方法:
**1. 使用for循环:**
```cpp
int sum = 0;
for (int i = 1; i <= 100; ++i) {
sum += i;
}
```
**2. 使用while循环:**
```cpp
int i = 1, sum = 0;
while (i <= 100) {
sum += i;
++i;
}
```
**3. 使用递归(尽管不太推荐,因为有栈溢出风险):**
```cpp
#include <iostream>
int factorial(int n) {
if (n == 1 || n == 0) return 1;
else return n * factorial(n - 1);
}
int main() {
int sum = factorial(101) / 101; // 注意这里除以101是因为我们多加了一次100
std::cout << "Sum: " << sum << std::endl;
return 0;
}
```
**4. 使用C++17及以上范围for循环(更简洁):**
```cpp
#include <numeric>
int sum = std::accumulate(std::begin(range), std::end(range), 0);
```
在这里,`range`是一个从1到100的区间,但由于C++的标准库没有直接提供这样的区间,你需要手动创建,比如`{1, 2, ..., 100}`。
以上每种方法都实现了同样的功能,即求和1到100。选择哪种取决于你的编程需求和个人喜好。
阅读全文