对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。pta
时间: 2023-12-08 20:38:59 浏览: 56
以下是C语言的代码实现:
```c
#include <stdio.h>
int factorial(int n);
int main(void) {
int n, sum, i;
scanf("%d", &n);
sum = 0;
for (i = 1; i <= n; i++) {
sum += factorial(i);
}
printf("%d", sum);
return 0;
}
int factorial(int n) {
int i, m;
m = 1;
for (i = 1; i <= n; i++) {
m *= i;
}
return m;
}
```
以下是Python的代码实现:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
n = int(input())
sum = 0
for i in range(1, n+1):
sum += factorial(i)
print(sum)
```
相关问题
pta+水仙花数填空
PTA是中国大学生程序设计竞赛的缩写,是由教育部高等学校计算机类专业教学指导委员会、教育部职业教育教学指导委员会、中国计算机学会和清华大学共同主办的全国性赛事。而水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。在PTA上,有一道关于水仙花数的填空题目,需要编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。
pta c语言从大到小排序 本题要求将给定的n个整数从大到小排序后输出。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有1个空格,行末也有1个空格。 输入样例: 5 5 2 1 6 7 输出样例: 7 6 5 2 1
下面是 PTA C 的代码实现:
```c
#include <stdio.h>
#define MAX_N 10
int main()
{
int n, a[MAX_N];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j] < a[j + 1]) {
int tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
for (int i = 0; i < n; i++) {
printf("%d", a[i]);
if (i < n - 1) {
printf(" ");
}
}
return 0;
}
```
注意:
- PTA C 的代码中需要包含 stdio.h 头文件。
- 定义数组时需要加上 #define MAX_N 10,因为 PTA C 不支持 const 关键字。
- 输出整数序列时不需要在行末加空格。