```cpp
#include <iostream>
#include<cmath>
using namespace std;
typedef unsigned long long ll;
ll tong[10001];
int main() {
ll a, b = 1;
cin >> a;
for (ll i = 2; i <= a; i++) {
b = i;
for (ll j = 2; j <= i; j++) {
while (b % j == 0) {
tong[j]++;
b /= j;
}
}
}
for (int i = 2; i <= 10000; i++) {
if (tong[i]) {
cout << i << " " << tong[i] << endl;
}
}
return 0;
}
```
我感觉你没有完全理解线性筛,建议你再去看看。(声明:本人还未学C++,学了C,可能该代码不能AC[但逻辑应该没有问题],请自己纠正)
by ShadowBlood @ 2024-01-10 21:59:26