const int maxn = 1e6 + 10;
int n;
vector<int> primes;
int fl[maxn];
void prework() {
//debug(n);
_rep(i, 2, n) {
if(fl[i]) continue;
primes.push_back(i);
for(int j = i; j <= n/i; j++) fl[i*j] = 1;
}
}
void solve() {
for(auto p : primes) {
//debug(p);
int ans = 0;
for(int x = n; x; x /= p) ans += x/p;
printf("%d %d\n", p, ans);
}
return;
}
void init() {
memset(fl, 0, sizeof(fl));
primes.clear();
}
int main() {
freopen("input.txt", "r", stdin);
init();
cin >> n;
// then solve
prework();
solve();
}
p2的倍数一定是p的倍数吧,这样算为什么不会出现重复呢
大佬每次题解的图片用的是什么软件呀,是word吗?
ppt + mac os的 keynote
%%%