1032: 【作】【入门】求1!+2!+...+N!
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:108
解决:78
题目描述
N!=1*2*...*N.例5!=1*2*3*4*5=120.
编程求1!+2!+3!+...+N!.
输入
输入一行,只有一个整数n (1<=n<=10)
输出
输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
样例输入 复制
3
样例输出 复制
9
提示
n=int(input())
ans=0
t=1
for i in range(1,n+1):
t*=i
ans+=t
print(ans)
'''
方法二(存在重复计算导致速度慢的缺点):
n=int(input())
ans=0
for i in range(1,n+1):
t=1
for j in range(2,i+1):
t*=j
ans+=t
print(ans)
'''
使用自定义函数(C++)
#include<bits/stdc++.h>
using namespace std;
int n,ans=0;
int fac(int n) {
int ret=1;
for(int i=1;i<=n;i++) ret*=i;
return ret;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
ans+=fac(i);
cout<<ans;
return 0;
}