2 条题解

  • 0
    @ 2025-4-17 17:23:07
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        long long n;
        cin>>n;
        long long y=1,u=1,z=0;
        for(int i=1;i<=n;i++){
            u=u*y;
            y++;
            z=z+u;
        }
        cout<<z;
        return 0;
    }
    
    • 0
      @ 2024-12-22 11:04:50

      C :

      #include<stdio.h>
      
      int main()
      {
      	int n,i;
      	long int a,s;
      	while(~scanf("%d",&n))
      	{
      		a=1;
      		s=0;
      		for(i=1;i<=n;i++) 
      		{ 
                 a*=i; 
                 s+=a; 
      		} 
      	 printf("%ld\n",s);
      	}
      	return 0;
      }
      

      C++ :

      #include<iostream>
      #include<cmath>
      #include<algorithm>
      #include<cstring>
      using namespace std;
      const int N=3000;
      long long jc[N]={0},ans[N]={0};
      long long len1=1,len2=1;
      int n;
      
      void add()
      {
      	int len=max(len1,len2);
      	for(int i=1;i<=len;i++)
      	ans[i]+=jc[i];
      	for(int i=1;i<=len;i++)
      	{
      		ans[i+1]+=ans[i]/10;
      		ans[i]=ans[i]%10;
      	}
      	if(ans[len+1]!=0)
      	len++;
      	len2=len;
      }
      
      void mul(int i)
      {
      	len1=1;
      	for(int j=1;j<=2999;j++)
      	jc[j]=0;
      	jc[1]=1;
      	for(int j=1;j<=i;j++)
      	{
      	
      	for(int l=1;l<=len1;l++)
      	jc[l]=jc[l]*j;
          
      	for(int l=1;l<=len1;l++)
      	{jc[l+1]+=jc[l] / 10;
      	jc[l]=jc[l]%10;
      	}
      	if(jc[len1+1]!=0)
      	len1++;
      	}
          add();
      }
      
      int main()
      {
      	cin>>n;
      	for(int i=1;i<=n;i++)
      	mul(i);
      	for(int i=len2;i>=1;i--)
      	cout<<ans[i];
      	cout<<endl;
      	return 0;
      }
      
      • 1

      信息

      ID
      413
      时间
      1000ms
      内存
      128MiB
      难度
      10
      标签
      递交数
      4
      已通过
      1
      上传者