社区讨论
萌新初学c++,不会数学,求大哥哥大姐姐调调
P1445[Violet] 樱花参与者 4已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @lo18fz13
- 此快照首次捕获于
- 2023/10/22 16:54 2 年前
- 此快照最后确认于
- 2023/11/02 16:44 2 年前
RT,球调简单数学,马蜂良好
CPP#include<bits/stdc++.h>
using namespace std;
#define ull unsigned long long
void openfile(){
freopen("equation.in","r",stdin);
freopen("equation.out","w",stdout);
}//考试时写的,忘删了
ull n,pri[1000005],vis[1000005],l,cnt;
ull c[1000005],ans=1;
const ull mod=1e9+7;
void ispri(ull x){
for(ull i=2;i<=n;i++){
if(vis[i]==0){
vis[i]=i;
pri[++l]=i;
}
for(ull j=1;j<=l;j++){
if(pri[j]<=vis[i]&&pri[j]<=n/i){
vis[i*pri[j]]=pri[j];
}
}
}
}//欧拉筛
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n;
ispri(n);
for(ull i=2;i<=n;i++){
cnt=1;
if(vis[i]!=i){
continue;
}
while(cnt<=n){
cnt*=i;
c[i]+=n/cnt;
}
}
for(ull i=2;i<=n;i++){
ans=(ans*(2*c[i]+1))%mod;
}//唯一分解定理
cout<<ans<<"\n";
return 0;
}
回复
共 10 条回复,欢迎继续交流。
正在加载回复...