阶乘求和
做这道题两个循环到202320232023肯定会超时间。
但是可以发现算到将近40的阶乘时,后9位的答案就已经可以确定了。
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const ll p = 1e9;
int main()
{
ll res = 0;
for (int i = 1; i <= 40; i++)
{
ll temp = 1;
for (int j = 1; j <= i;j++)
{
temp = (temp * 1ll * j) % p;
}
res = (res + temp) % p ;
cout << res << '\n';
}
return 0;
}
后几位的结果:
这个上面不是最终答案,只是测试代码。
最终答案直接输出后9位就ok。
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cout << 420940313 << '\n';
return 0;
}