求助

P1009 [NOIP1998 普及组] 阶乘之和

junbeder @ 2024-08-17 15:08:46

#include<iostream>
using namespace std;
int main(){
    long long n,ans;
    cin>>n;
    for(int i=1;i<=n;i++){
        long long factor=1;
        for(int j=1;j<=-i;j++)
        factor*=j;
        ans+=factor;
    }  
    cout<<ans<<endl;
    return 0;
}

by Emil_ @ 2024-08-17 15:10:57

@junbeder 用高精啊


by junbeder @ 2024-08-17 15:13:45

没学

@Emil_


by apzzzx @ 2024-08-17 15:14:02

@junbeder

#include <bits/stdc++.h>
using namespace std;
int a[10000];
int k=1;
int n;
int main()
{
   cin>>n;
   for(int i=n;i>=1;i--)
   {
           a[1]++;
           for(int j=1;j<=a[0];j++)
           {
               a[j+1]+=a[j]/10;
               a[j]%=10;
           }
           if(a[a[0]+1]>0)
           {
               a[0]++;
           }
           for(int j=1;j<=a[0];j++)
           {
               a[j]*=i;
           }
           for(int j=1;j<=a[0];j++)
           {
               a[j+1]+=a[j]/10;
               a[j]%=10;
           }
           int x=a[0]+1;
           if(a[x]>0)
           {
               while(a[x]>10)
               {
                   a[x+1]=a[x]/10;
                   a[x]%=10;
                   x++;
               }
               a[0]=x;
           }
       }
       for(int i=a[0];i>=1;i--)
       {
           cout<<a[i];
       }

}

by apzzzx @ 2024-08-17 15:14:34

求关


by Emil_ @ 2024-08-17 15:15:08

@junbeder 学会在做吧


by junbeder @ 2024-08-17 15:15:38

@apzzzx 已关


by junbeder @ 2024-08-17 15:17:12

@Emil_ 好


by cxoi1712 @ 2024-08-20 16:07:05

@junbeder 之所以说高精度是高精度,因为高精度就是高精度


by junbeder @ 2024-08-21 10:31:33

@cxoi1712 知道了


|