9 条题解

  • 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
      @ 2024-6-16 12:38:56

      40分代码(别看) #include<iostream>

      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;

      }

      • 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;
            }
            
            • -1
              @ 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;
              }
              
              • -2
                @ 2022-11-12 16:15:33

                #include <queue> #include <stack> #include <vector> #include <math.h> #include <iomanip> #include <stdio.h> #include <iostream> #include <string.h> #include <algorithm> 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; }

              • -2
                @ 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

                  //确保AC #include <iostream> #include <cstdio> 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
                  难度
                  7
                  标签
                  递交数
                  305
                  已通过
                  74
                  上传者