2 条题解

  • 2
    @ 2025-2-13 11:26:56
    using namespace std;
    int s[155]={0},t[155]={0};
    int n;
    int main()
    {
    	cin>>n;
    	t[1]=1;
    	for(int i=1;i<=n;i++)
    	{
    		for(int k=1;k<=150;k++)
    		{
    			t[k]=t[k]*i;
    		}
    		for(int k=1;k<=150;k++)
    		{
    			t[k+1]+=t[k]/10;
    			t[k]=t[k]%10;
    		}
    		for(int k=1;k<=150;k++)
    		{
    			s[k]=s[k]+t[k];
    			s[k+1]+=s[k]/10;
    			s[k]=s[k]%10;
    		}
    	}
    	int flag=0;
    	for(int i=150;i>=1;i--)
    	{
    		if(s[i]!=0) flag=1;
    		if(flag) cout<<s[i];
    	}
    	return 0;
    }
    • 1
      @ 2025-2-13 11:25:59
      using namespace std;
      int s[155]={0},t[155]={0};
      int n;
      int main(){
      	cin>>n;
      	t[1]=1;
      	for(int i=1; i<=n; i++){
      		for(int k=1; k<=150; k++)
      		t[k]=t[k]*i;
      		for(int k=1;k<=150; k++){
      			t[k+1]+=t[k]/10;
      			t[k]=t[k]%10;
      		}
      		for(int k=1; k<=150; k++){
      			s[k]=s[k]+t[k];
      			s[k+1]+=s[k]/10;
      			s[k]=s[k]%10;
      		}
      	}
      	int flag=0;
      	for(int i=150; i>=1; i--){
      		if(s[i]!=0) flag=1;
      		if(flag) cout<<s[i];
      	}
      	return 0;
      }
      
      
      
      
      
      • 1

      信息

      ID
      1338
      时间
      1000ms
      内存
      128MiB
      难度
      6
      标签
      (无)
      递交数
      93
      已通过
      28
      上传者