把筛法改一改就行了 最先到的就是最小质素因子
#include <bits/stdc++.h> #define ll long long using namespace std; int const N=3e7+5; ll p[N],ans,n; int main() { cin>>n; for(int i=2;i<=n;i++) { if(!p[i]) { ans+=i; for(int j=i*2;j<=n;j+=i) if(!p[j]) p[j]=1,ans+=i; } } cout<<ans<<endl; return 0; }