M 语言基础练习——求1+2!+3!+...+N!的和(循环和函数递归)用c++
时间: 2023-11-28 20:46:24 浏览: 92
以下是使用C++编写循环和递归函数计算1+2!+3!+...+N!的和的示例代码:
1. 使用循环计算:
```cpp
#include <iostream>
using namespace std;
int factorial(int n) {
int res = 1;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
int main() {
int n = 5;
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
cout << "1+2!+3!+...+N!和为:" << sum << endl;
return 0;
}
```
2. 使用递归函数计算:
```cpp
#include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n - 1);
}
int sum(int n) {
if (n == 1) {
return 1;
}
return factorial(n) + sum(n - 1);
}
int main() {
int n = 5;
cout << "1+2!+3!+...+N!的和为:" << sum(n) << endl;
return 0;
}
```
阅读全文