编写一个程序exp1-1.cpp,对给定的正整数n,求1+2+3+…+n,采用逐个累加和n(n+1)(高斯法)两种解法。用c++语言编程
时间: 2024-11-25 12:11:31 浏览: 10
exp2-1.cpp
你可以参考以下C++代码示例,这个程序包含了两种方法来计算从1到n的和:一种是简单的循环累加,另一种是使用数学公式n*(n+1)/2(也称为高斯算法)。
```cpp
#include <iostream>
// 使用循环累加的方式
int sumByLoop(int n) {
int result = 0;
for (int i = 1; i <= n; ++i) {
result += i;
}
return result;
}
// 使用高斯公式的方式
int sumByFormula(int n) {
return n * (n + 1) / 2;
}
int main() {
int n;
std::cout << "请输入一个正整数n:";
std::cin >> n;
// 输出两种方法的结果
std::cout << "循环累加结果: " << sumByLoop(n) << "\n";
std::cout << "高斯公式结果: " << sumByFormula(n) << "\n";
return 0;
}
```
在这个程序中,`sumByLoop()`函数通过逐个累加实现了求和,而`sumByFormula()`函数则直接应用了数学公式。用户可以输入一个正整数n,然后程序会计算并输出两种方法的和。
阅读全文