如题所述
#include<stdio.h>
int main()
{ int i,n,t=1,s=0;
scanf("%d",&n);
for(i=1; i<=n; i++)
{ t*=i;
s+=t;
}
printf("%d\n",s);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2021-02-14
#include <stdio.h>
#define DEBUG_ENABLE 0 /* 调试使能 */
#define MAXN 75
double fun(int n)
{
if (n == 1){
return 1;
}
else{
return (n * fun(n-1));
}
}
double sum(int n)
{
if (n == 1){
return 1;
}
else{
return (fun(n) + sum(n-1));
}
}
int main()
{
int n = 0;
double s = 0;
scanf("%d", &n);
s = sum(n);
printf("sum=%.0lf\n", s);
return 0;
}
#define DEBUG_ENABLE 0 /* 调试使能 */
#define MAXN 75
double fun(int n)
{
if (n == 1){
return 1;
}
else{
return (n * fun(n-1));
}
}
double sum(int n)
{
if (n == 1){
return 1;
}
else{
return (fun(n) + sum(n-1));
}
}
int main()
{
int n = 0;
double s = 0;
scanf("%d", &n);
s = sum(n);
printf("sum=%.0lf\n", s);
return 0;
}
第2个回答 2021-02-14
#用递归计算1!+2!+3!....+n!
def add(n):
if n ==1:
return 1
return add(n-1)*n
m = 0
k = int(input('输入N:') )
for i in range(1,k+1):
print(i,'!=',add(i))
m = m + add(i)
print('求和:',m)
def add(n):
if n ==1:
return 1
return add(n-1)*n
m = 0
k = int(input('输入N:') )
for i in range(1,k+1):
print(i,'!=',add(i))
m = m + add(i)
print('求和:',m)