4 条题解

  • 1
    @ 2025-11-21 18:10:01
    #include<bits/stdc++.h>
    using namespace std;
    int n,a[1100],k;
    int main()
    {
    	cin>>n;
    	a[1]=1;
    	for(int i=2;i<=n;i++)
    	{
    		for(int j=1;j<=1000;j++)
    		{
    			a[j]=a[j]*i+k;
    			k=a[j]/10;
    			a[j]%=10;
    		}
    	}
    	cout<<n<<"!=";
    	k=1000;
    	while(!a[k]) k--;
    	for(int i=k;i>=1;i--) cout<<a[i];
    }
    
    • 0
      @ 2025-10-19 8:45:08

      #include<bits/stdc++.h> #define ll long long #define un unsigned #define int long long #define db double #define st string #define ct const #define xh(a,b,c) for(int a=b;a<=c;a++) #define wx while(1) #define dn(a,b,c) for(int a=b;a>=c;a--) using namespace std; un ll ans[1010]; int n; void print(){ int k=1000; while(!ans[k])k--; dn(i,k,1)cout<<ans[i]; } void dfs(int i){ i++; if(i==n+1){ print(); return ; } int jw=0; xh(j,1,1000){ ans[j]=ans[j]*i+jw; jw=ans[j]/10; ans[j]%=10; } dfs(i); } signed main(){ cin>>n; ans[1]=1; printf("%d!=",n); dfs(0); return 0; }

      • 0
        @ 2025-7-4 15:48:14

        普通高精

        #include<bits/stdc++.h>
        using namespace std;
        int n;
        int num[1000005],cnt;
        signed mian(){
        	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
        	cin>>n;
        	num[1]=1;cnt=1;
        	for(int i=2;i<=n;i++){
        		for(int j=1;j<=cnt;j++) num[j]*=i;
        		for(int j=1;j<cnt;j++) if(num[j]>9) num[j+1]+=num[j]/10,num[j]%=10;
        		while(num[cnt]>9) num[cnt+1]+=num[cnt]/10,num[cnt]%=10,cnt++;
        	}
        	cout<<n<<"!=";
        	for(int i=cnt;i>=1;i--) cout<<num[i];
        	return 0;
        }
        //if you copy this code,you will get a big surprise!
        
        • -3
          @ 2025-7-4 16:00:09

          #include <bits/stdc++.h> using namespace std; int a[1000]; int main() {

          int n,i,j,c=0,p;
          cin>>n;
          cout<<n<<"!=";
          if(n==1)
          {
          	cout << "1";
          }
          else
          {
          	a[0]=1; 
          	for(i=2;i<=n;++i)
          	{
          		c=0;
          		for(j=0;j<1000;++j)
          		{ 
          			p=a[j]*i+c;
          			a[j]=p%10;
          			c=p/10;
          		}
          	}
          	for(i=999;i>=0;--i)
          	if(a[i]>0)break;
          	for(j=i;j>=0;--j)
          	
          	cout<<a[j];
          }
          return 0;
          

          }

          • 1

          信息

          ID
          624
          时间
          1000ms
          内存
          256MiB
          难度
          8
          标签
          (无)
          递交数
          139
          已通过
          22
          上传者