1032: 【入门】求1!+2!+...+N!

内存限制:16 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:93 解决:66

题目描述

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;
}