用迭代和递归分别计算1+2+3+...+100
时间: 2023-11-22 17:45:32 浏览: 138
用迭代和递归分别计算1+2+3+...+100的结果如下:
迭代方法:
```c++
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("%d", sum);
return 0;
}
```
递归方法:
```c++
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
}
return n + sum(n - 1);
}
int main() {
printf("%d", sum(100));
return 0;
}
```
相关问题
用迭代和递归分别计算1+2+3+...+n
1+2+3+...+n可以使用迭代和递归两种方法计算。
迭代方法是通过循环来实现的,从1到n依次累加求和。
递归方法是通过函数调用自身来实现的,当n等于1时返回1,否则返回n加上递归调用n-1的结果。
下面是两种方法的代码实现:
迭代方法:
```
int iteratively(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
```
递归方法:
```
int recursively(int n) {
if (n == 1) {
return 1;
} else {
return n + recursively(n - 1);
}
}
```
给定一个正整数n(1<=n<=100),采用迭代算法和递归算法求s = 1+(1+2)+(1+2+3)+...+(1+2+....n)
当需要计算从1到n的所有连续整数之和s,可以使用迭代和递归两种方法。
**迭代算法(Iterative Solution):**
```python
def iterative_sum(n):
total = 0
for i in range(1, n + 1):
total += i
return total
# 示例
n = 5
iterative_result = iterative_sum(n)
```
在这个迭代过程中,我们通过循环逐个累加每个数字,最终得到总和。
**递归算法(Recursive Solution):**
```python
def recursive_sum(n):
if n == 1:
return 1
else:
return (n * (n + 1)) // 2 + recursive_sum(n - 1)
# 示例
n = 5
recursive_result = recursive_sum(n)
```
递归算法则是将问题分解成更小的部分。对于基本情况n=1,直接返回1;对于其他情况,我们将当前项加入到前n-1个数的和上,通过不断递归直到达到基本情况。
阅读全文