本题只是推导公式稍微有些难度,
代码就是一个素数筛和一个求素数个数的循环,
整体讲评绿更合理些
况且一个五年级小学生S组都只得了25分的人都能A
代码不服来看(禁抄袭代码):
#include<bits/stdC++.h>
using namespace std;
long long n;
vector<long long> b[1000005];
long long s=1;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n;
for(long long i=2;i<=n;i++){
if(!b[i]){
for(long long j=i*i;j<=n;j+=i){
b[j]=1;
}
}
}
long long q=n;
for(long long i=2;i<=q;i++){
if(!b[i]){
long long k=0;
n=q;
while(n){
n/=i;
k+=n*2;
}
s*=(k+1);
s%=100000007;
}
}
cout<<s%100000007;
return o;
}
改了一点与思路无关的代码防抄袭
对了:违规紫衫