5 条题解

  • 1
    @ 2023-11-5 19:34:27
    #include<iostream>
    #include<string.h>
    using namespace std;
    const int INF=0x3f3f3f3f;
    const int N=2e5+10;
    long long n,x,a[N],len; 
    int main(){
    	cin>>n;
    	a[++len]=1;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=len;j++){
    			a[j]=a[j]*i+x;
    			x=a[j]/10;
    			a[j]%=10;
    		} 
    		while(x){
    			a[++len]=x%10;
    			x/=10;
    		}
    	}
    	for(int i=len;i>=1;i--){
    		cout<<a[i];
    	}
    }
    
    
    • 0
      @ 2025-7-26 19:07:56
      #include <iostream>
      #include <vector>
      using namespace std;
      
      // 计算阶乘的函数,返回存储阶乘结果的数组,低位在前
      vector<int> factorial(int n) {
          vector<int> result(1, 1);  // 初始化为1,低位在前,方便计算
          for (int i = 2; i <= n; ++i) {
              int carry = 0;
              for (size_t j = 0; j < result.size(); ++j) {
                  int product = result[j] * i + carry;
                  result[j] = product % 10;
                  carry = product / 10;
              }
              while (carry > 0) {
                  result.push_back(carry % 10);
                  carry /= 10;
              }
          }
          return result;
      }
      
      int main() {
          int n;
          cin >> n;
          if (n == 0 || n == 1) {
              cout << 1 << endl;
              return 0;
          }
          vector<int> res = factorial(n);
          // 从高位到低位输出结果
          for (auto it = res.rbegin(); it != res.rend(); ++it) {
              cout << *it;
          }
          cout << endl;
          return 0;
      }
      
      • 0
        @ 2023-12-8 19:17:39

        100%AC不AC我倒立洗头

        #include<iostream>
        #include<cstring>
        #include<cmath>
        #include<iomanip>
        #include<queue>
        #include<algorithm>
        #include<vector>
        #include<stack>
        using namespace std;
        #define LL long long
        const int N=1e5+10;
        using namespace std;
        int n , ans[N] , len , x;
        int main()
        {
        	
        	cin>>n;
        	ans[++len] = 1;
        	for(int i = 2; i <= n; i++)
        	{
        		for(int j = 1; j <= len; j++)
        		{
        			ans[j] = ans[j] * i + x;
        			x = ans[j] / 10;
        			ans[j] %= 10;
        		}
        		
        		while( x )
        		{
        			ans[++len] = x % 10;
        			x /= 10;
        		}
        	}
        	for(int i = len; i >= 1; i --)
        		cout << ans[i];
        	return 0;
        }
        
        • 0
          @ 2023-11-5 19:33:05
          #include<iostream>
          #include<string.h>
          using namespace std;
          const int INF=0x3f3f3f3f;
          const int N=2e5+10;
          long long n,x,a[N],len; 
          int main(){
          	cin>>n;
          	a[++len]=1;
          	for(int i=1;i<=n;i++){
          		for(int j=1;j<=len;j++){
          			a[j]=a[j]*i+x;
          			x=a[j]/10;
          			a[j]%=10;
          		} 
          		while(x){
          			a[++len]=x%10;
          			x/=10;
          		}
          	}
          	for(int i=len;i>=1;i--){
          		cout<<a[i];
          	}
          }
          
          • 0
            @ 2023-11-5 18:10:18
            #include<bits/stdc++.h>
            using namespace std;
            
            const int N=1e6+10;
            long long a,b,c,d,e,f,g;
            double x,y,z;
            int n[N];
             
            int main(){
            	cin>>a;
            	n[++b]=1;
            	for(int i=1;i<=a;i++){
            		for(int j=1;j<=b;j++){
            			n[j]=n[j]*i+c;
            			c=n[j]/10;
            			n[j]%=10;
            		}
            		while(c){
            			n[++b]=c%10;
            			c/=10;
            		}
            	}
            	for(int i=b;i>=1;i--)cout<<n[i];
            	return 0;
            } 
            
            • 1

            信息

            ID
            1198
            时间
            1000ms
            内存
            128MiB
            难度
            6
            标签
            递交数
            222
            已通过
            67
            上传者