计算1+2+3+...+n的和
时间: 2023-11-22 12:49:56 浏览: 44
以下是两种C语言计算1+2+3+...+n的和的例子:
1.利用递归实现求和
```c
#include <stdio.h>
int Sum(int n) {
if(n == 0) return 0;
return Sum(n-1)+n;
}
int main() {
printf("%d\n",Sum(10)); // 输出:55
}
```
2.利用循环实现求和
```c
#include <stdio.h>
int main() {
int sum=0;
for(int i=1;i<=10;i++) {
sum+=i; }
printf("%d\n",sum); // 输出:55
}
```
相关问题
1+2+3+...+n的和
1+2+3+...+n的和可以使用数学公式来计算,即等差数列求和公式。公式为:S = (n/2)(a + b),其中n为项数,a为首项,b为末项。
对于1+2+3+...+n的和,首项a为1,末项b为n,项数n为n。代入公式得到:S = (n/2)(1 + n)。
例如,计算1+2+3+4的和,代入公式得到:S = (4/2)(1 + 4) = 2(5) = 10。
所以,1+2+3+...+n的和为(n/2)(1 + n)。
用迭代和递归分别计算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);
}
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)