c++ 求自然数1~N的和的解题思路
时间: 2024-02-01 18:13:48 浏览: 165
用C++编写的从屏幕上输入N输出1到N的和
求自然数1~N的和,可以使用循环或递归实现。以下是两种解题思路:
**循环实现:**
1. 定义一个变量 sum 用于记录和的值,初始化为 0。
2. 使用 for 循环从 1 到 N,每次将当前的数字加到 sum 中。
3. 循环结束后,sum 就是1~N的和。
C++ 代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int N, sum = 0;
cout << "请输入一个正整数N:";
cin >> N;
for (int i = 1; i <= N; ++i) {
sum += i;
}
cout << "1~" << N << "的和为:" << sum << endl;
return 0;
}
```
**递归实现:**
1. 定义一个递归函数sum,函数的参数为n,表示求1~n的和。
2. 当n等于1时,直接返回1。
3. 当n大于1时,调用sum(n-1)求1~(n-1)的和,再加上n,即为1~n的和。
4. 最终返回1~n的和。
C++ 代码如下:
```c++
#include <iostream>
using namespace std;
int sum(int n) {
if (n == 1) {
return 1;
}
return sum(n-1) + n;
}
int main() {
int N;
cout << "请输入一个正整数N:";
cin >> N;
cout << "1~" << N << "的和为:" << sum(N) << endl;
return 0;
}
```
阅读全文