1418 - C语言-阶乘数列
时间限制 : 1 秒
内存限制 : 128 MB
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
题目输入
n
题目输出
和
输入/输出样例
输入格式
5
输出格式
153
C语言解答
int main(int argc, char* argv[]) { long double sum,i,a,n; while(~scanf("%llf",&n)) { sum=0;a=1; for(i=1;i<=n;i++) { sum+=a*i; a=a*i; } printf("%.0llf\n",sum); } return 0; }
C++解答
#include<iostream> using namespace std; long long a[1001]; void fun(int n) { int i; a[1]=1; a[2]=2; for(i=3;i<=n;i++) a[i]=a[i-1]*i; } int main() { int i,n; fun(1000); while(cin>>n) { long long x=0; for(i=1;i<=n;i++) x+=a[i]; cout<<x<<endl; } return 0; }
Java解答
import java.util.Scanner; public class Main{ private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { int n = s.nextInt() ; long sum = 0 ; long t = 1 ; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) { t = t*j ; } sum = sum+t ; t = 1 ; } System.out.println(sum) ; } }