s=1!+2!+3!+…+20!循环结构dev-c++
时间: 2023-11-24 16:51:07 浏览: 66
以下是使用dev-c++编写的求s=1!+2!+3!+…+20!的程序:
```c++
#include <stdio.h>
int main() {
int i, j;
long long s = 0, f = 1;
for (i = 1; i <= 20; i++) {
f = 1;
for (j = 1; j <= i; j++) {
f *= j;
}
s += f;
}
printf("s = %lld\n", s);
return 0;
}
```
相关问题
dev c++入门-求1!+2!+...+n!
这道题目可以使用循环结构实现。我们可以使用一个循环来计算每个数的阶乘并将其累加到结果中。以下是使用 C++ 编写的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个正整数 n:";
cin >> n;
int sum = 0;
int fact = 1;
for (int i = 1; i <= n; i++) {
fact *= i; // 计算 i 的阶乘
sum += fact; // 将阶乘累加到结果中
}
cout << "结果为:" << sum << endl;
return 0;
}
```
运行结果示例:
```
请输入一个正整数 n:5
结果为:153
```
当输入为 5 时,程序会计算 1!+2!+3!+4!+5!=1+2+6+24+120=153 的结果并输出。
第1章 设计性实验 实验题4:求连续整数阶乘的和。编写一个程序,对于给定的正整数n,求1!+2!+3!+...+n!,给出一种时间复杂度为O(n)的解法。(可以使用Dev C++进行程序编写和运行,运行成功后,把程序代码和运行截图输入答案框。)
设计性实验题4要求我们编写一个程序,用于计算从1到n的所有连续整数的阶乘之和。为了达到O(n)的时间复杂度,我们可以采用循环结构,并依次将每个整数i的阶乘加到总和上。这里是一个基本的C++程序示例:
```cpp
#include <iostream>
using namespace std;
// 计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int n;
cout << "请输入一个正整数n: ";
cin >> n;
unsigned long long sum = 0;
for (int i = 1; i <= n; ++i) {
sum += factorial(i);
}
cout << "1! + 2! + ... + " << n << "! 的和是: " << sum << endl;
// 这里假设你已经得到了程序运行的结果,如屏幕截图或直接输出
// 此处省略了实际的运行结果展示
return 0;
}
```
在这个程序中,`factorial`函数递归地计算阶乘,而主循环负责累加阶乘值。由于每次循环都会计算一次阶乘,所以总的时间复杂度是线性的,即O(n)。
阅读全文