警示后人(这题竟然没法用黑科技!)
查看原帖
警示后人(这题竟然没法用黑科技!)
765549
fengyongrui楼主2023/3/19 11:52

我本想用黑科技(__int128)的:

#include<bits/stdc++.h>
using namespace std;
long long n,ans,a[999999];
__int128 x=1,ans1;
inline __int128 jc(unsigned long long n){
	x=1;
	for(int i=n;i>=1;i--) x*=i;
	return x;
}
inline void print(){
    int cnt=0,x=0;
    while(ans1>0){
        a[++x]=ans1%10;
        ans1/=10;
        cnt++;
    }
    for(int i=cnt;i>=1;i--) cout<<a[i];
    return;
}
int main(){
	__int128 i,j;
	cin>>n;
	for(i=1;i<=n;i++) ans1+=jc(i);
	print();
	return 0;
}

pa(75分)

这告诉我们:一定要小心:n<=50!

2023/3/19 11:52
加载中...