题意
求1~n中每个数的最小质因数的和。

思路
素数筛即可,把每个数的第一个质因数加到答案当中。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[30000005];
int main()
{
    ll n;cin>>n;
    ll sum=0;
    for(ll i=2; i<=n; i++){
        if(!a[i]){
            sum+=i;
            for(ll j=i*i; j<=n; j+=i){
                if(!a[j]) a[j]=1,sum+=i;
            }
        }
    }
    cout<<sum;
    return 0;
}