11 条题解

  • 1
    @ 2023-5-16 17:34:18
    #include <stack>
    #include <stdio.h>
    #include <iostream>
    #include <vector>
    #include <iomanip>
    #include <string.h>
    #include <algorithm>
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e6+10;
    int ans[N], len=1;
    void a(int x){
    	
    	for(int i=0; i<len; i++){
    		ans[i] *= x;
    	}
    	for(int i=0; i<len; i++){
    		ans[i+1]+=ans[i]/10000;
    		ans[i]%=10000;
    		
    	}
    	while(ans[len]!=0){
    		ans[len+1]+=ans[len]/10000;
    		ans[len]%=10000;
    		len ++;
    		
    	}
    }
    int main(){
    	int n;
    	cin >> n;
    	ans[0]=1;
        for (int i=2; i<=n; i++){
        	a(i);
        }
        len --;
        cout << ans[len];
        for(int i=len-1; i>=0; i--){
        	printf("%04d",ans[i]);
        }
        return 0;
    }//最后的输出采用格式化输出,超格,而前面不需要格式化输入
    
    • 0
      @ 2026-10-18 19:38:13

      #include #include<string.h> #include #include using namespace std; int a[100010],len = 1; void mul(int p) { int k=0; for(int i=0;i<len;i++) { a[i]=a[i]*p+k; k=a[i]/10000; a[i]%=10000; } while(k!=0) { a[len++]=k%10000; k=k/10000; } } int main() { int n; cin>>n; a[0]=1; for(int i=2;i<=n;i++) mul(i); cout<<a[len-1]; len-=2; for(int i=len;i>=0;i--) printf("04d",a[i]); return 0; }

      • 0
        @ 2026-10-18 19:22:44
        #include<bits/stdc++.h>
        using namespace std;
        const int N=1e6+10;
        int a[N],len=1;
        void mul(int p){
        	int k=0;
        	for(int i=0;i<len;i++){
        		a[i]=a[i]*p+k;
        		k=a[i]/10000;
        		a[i]%=10000;
        	} 
        	while(k!=0){
        		a[len++]=k%10000;
        		k=k/10000;
        	}
        }
        int main(){
        	int n;
        	cin>>n;
        	a[0]=1;
        	for(int i=2;i<=n;i++){
        		mul(i);
        	}
        	cout<<a[len-1];
        	len-=2;
        	for(int i=len;i>=0;i--){
        		printf("%04d",a[i]);
        	}
        	return 0;
        }
        
        
        • 0
          @ 2024-3-31 20:13:07
          #include<bits/stdc++.h>
          using namespace std;
          const int N=1e6+10;
          int ans[N], len=1;
          void a(int x){
          	
          	for(int i=0; i<len; i++){
          		ans[i] *= x;
          	}
          	for(int i=0; i<len; i++){
          		ans[i+1]+=ans[i]/10000;
          		ans[i]%=10000;
          		
          	}
          	while(ans[len]!=0){
          		ans[len+1]+=ans[len]/10000;
          		ans[len]%=10000;
          		len ++;
          		
          	}
          }
          int main(){
          	int n;
          	cin >> n;
          	ans[0]=1;
              for (int i=2; i<=n; i++){
              	a(i);
              }
              len --;
              cout << ans[len];
              for(int i=len-1; i>=0; i--){
              	printf("%04d",ans[i]);
              }
          	return 0;
          } 
          
          • 0
            @ 2023-4-3 20:06:37
            #include<stack>
            #include<stdio.h>
            #include<iostream>
            #include<cstdio>
            #include<vector>
            #include<iomanip>
            #include<string.h>
            #include<math.h>
            #include<iostream>
            #include<bits/stdc++.h>
            using namespace std;
            const int N=1e6+10;
            int ans[N],len=1;
            void mul(int x)
            {
            	for(int i=0;i<len;i++)ans[i]*=x;
            	for(int i=0;i<len;i++)
            	{
            		ans[i+1]+=ans[i]/10000;
            		ans[i]%=10000;
            	}
            	while(ans[len]!=0)
            	{
            		ans[len+1]=ans[len]/10000;
            		ans[len]%=10000;
            		len++;
            	}
            }
            int main()
            {
            	int n;
            	cin>>n;
            	ans[0]=1;
            	for(int i=2;i<=n;i++)mul(i);
            	len--;
            	cout<<ans[len];
            	for(int i=len-1;i>=0;i--)printf("%04d",ans[i]);
            	return 0;
            }
            //nima
            
            • 0
              @ 2023-1-4 11:38:36
              #include<bits/stdc++.h>
              using namespace std;
              const int N=1e6+10;
              int ans[N],len=1;
              void mul(int x)
              {
              	for(int i=0;i<len;i++)ans[i]*=x;
              	for(int i=0;i<len;i++)
              	{
              		ans[i+1]+=ans[i]/10000;
              		ans[i]%=10000;
              	}
              	while(ans[len]!=0)
              	{
              		ans[len+1]=ans[len]/10000;
              		ans[len]%=10000;
              		len++;
              	}
              }
              int main()
              {
              	int n;
              	cin>>n;
              	ans[0]=1;
              	for(int i=2;i<=n;i++)mul(i);
              	len--;
              	cout<<ans[len];
              	for(int i=len-1;i>=0;i--)printf("%04d",ans[i]);
              	return 0;
              }
              
              • 0
                @ 2022-11-12 16:20:57
                #include <queue>
                #include <math.h>
                #include <stack>
                #include <stdio.h>
                #include <iostream>
                #include <vector>
                #include <iomanip>
                #include <string.h>
                #include <algorithm>
                using namespace std;
                #define LL long long
                const int N = 1e4 + 10;
                const int INF = 0x3f3f3f3f;
                long long len = 1 , a[N];
                void mul(long long x)
                {
                	for(int i = 0 ; i < len ; i++)
                		a[i] *= x;
                	for(int i = 0 ; i < len ; i++)
                	{
                		a[i+1] += a[i]/10000;
                		a[i] %= 10000;
                	}
                	while(a[len] != 0)
                	{
                		a[len+1] = a[len]/10000;
                		a[len] %= 10000;
                		len++; 
                	}
                }
                int main()
                {
                	int n;
                	cin >> n;
                	a[0] = 1;
                	for(int i = 2 ; i <= n ; i++)
                		mul(i);
                	len--;
                	cout << a[len];
                	for(int i = len-1; i >= 0 ; i--)
                		printf("%04d",a[i]);
                	return 0;
                }
                
                • -1
                  @ 2024-6-16 12:38:56

                  40分代码(别看) #include

                  using namespace std;

                  int main()

                  {

                  int n,sum=1;

                  cin>>n;

                  if(n!=0){

                  for(int i=1;i<=n;i++){

                  sum=sum*i;}cout<<sum;}else{cout<<1;}

                  return 0;

                  }

                  • -1
                    @ 2022-3-19 11:54:55
                    #include <bits/stdc++.h>
                    using namespace std;
                    const int N = 1e5 + 10;
                    const int INF = 0x3f3f3f3f;
                    int a[N],len = 1;
                    void mul(int p)
                    {
                    	int k = 0;
                    	for(int i = 0;i < len;i++)
                    	{
                    		a[i] =a[i]*p+k;
                    		k = a[i]/10000;
                    		a[i] %= 10000;
                    	}
                    	while(k!=0)
                    	{
                    		a[len++] = k%10000;
                    		k = k /10000;
                    	}
                    }
                    int main()
                    {
                    	int n;
                    	cin >> n;
                    	a[0]=1;
                    	for(int i=2;i <= n;i++)
                    		mul(i);
                    	cout << a[len-1];
                    	len-=2;
                    	for(int i=len;i>=0;i--)
                    		printf("%04d",a[i]);
                    	return 0;
                    }
                    
                    • -2
                      @ 2022-11-12 16:15:33

                      #include #include #include #include <math.h> #include #include <stdio.h> #include #include <string.h> #include using namespace std; #define LL long long #define D double const int N=1e6+10; const int INF=0x3f3f3f3f; int len=1,a[N]; void mul(int x) { for(int i=0;i<len;i++) a[i]*=x; for(int i=0;i<len;i++) { a[i+1]+=a[i]/10000; a[i]%=10000; } while(a[len]!=0) { a[len+1]=a[len]/10000; a[len]%=10000; len++; } } int main() { int n; cin>>n; a[0]=1; for(int i=2;i<=n;i++) mul(i); len--; cout<<a[len]; for(int i=len-1;i>=0;i--) printf("%04d",a[i]); return 0; }

                    • -3
                      @ 2022-1-8 19:45:35

                      //确保AC #include #include using namespace std; int a[100010] = {1}; int len = 0; int n; void f(int x) { int k = 0; for(int i = 0; i <= len; i++) { a[i] = a[i] * x + k; k = 0; if(a[i] >= 10000) { k = a[i] / 10000; a[i] %= 10000; } } while(k != 0) { a[++len] = k % 10000; k = k / 10000; } return; } int main() { cin >> n; for (int i = 1; i <= n; i++) f(i); cout << a[len]; for(int i = len - 1; i >= 0; i--) printf ("%04d", a[i]); return 0; }

                      • 1

                      信息

                      ID
                      1202
                      时间
                      1000ms
                      内存
                      128MiB
                      难度
                      6
                      标签
                      递交数
                      523
                      已通过
                      146
                      上传者