死循环欸,不知道为什么QwQ。
#include<bits/stdc++.h>
using namespace std;
int n,p[1000010];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
if(!p[i]){
for(int j=2*p[i];j<=n;j+=p[i])
p[j]=1;
}
}
for(int i=2;i<=n;i++){
if(p[i])
continue;
int cnt=0;
for(int j=1;pow(p[i],j)<=n;j++){
cnt+=n/pow(p[i],j);
}
if(cnt!=0)
cout<<p[i]<<" "<<cnt<<endl;
}
return 0;
}