求1到n的连续整数和 c++累加法高斯法
时间: 2024-09-23 13:02:38 浏览: 57
dangaosi.rar_matlab 单高斯_matlab 单高斯法_单高斯_视频背景提取
5星 · 资源好评率100%
在C++中,求1到n的连续整数和可以使用简单的累加法,也称为直接相加法,或者更高效一些的是高斯算法(即等差数列求和)。这里提供两种方法:
**1. 累加法**
```cpp
#include <iostream>
int sum(int n) {
int total = 0;
for (int i = 1; i <= n; i++) {
total += i;
}
return total;
}
int main() {
int n;
std::cout << "请输入一个正整数n: ";
std::cin >> n;
int result = sum(n);
std::cout << "从1到" << n << "的连续整数和是: " << result << std::endl;
return 0;
}
```
**2. 高斯算法(等差数列求和公式)**
如果你需要处理大量数据,可以利用数学公式来计算,因为这个方法的时间复杂度是O(1),不是线性的。等差数列求和公式是:`sum = n * (n + 1) / 2`。
```cpp
#include <iostream>
int sumUsingFormula(int n) {
return n * (n + 1) / 2;
}
int main() {
int n;
std::cout << "请输入一个正整数n: ";
std::cin >> n;
int result = sumUsingFormula(n);
std::cout << "从1到" << n << "的连续整数和是: " << result << std endl;
return 0;
}
```
阅读全文