游客 Signup | Login
中文 | En

1418 - C语言-阶乘数列

求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。

Input

n

Output

Examples

Input

5

Output

153

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

Solution 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;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题