
cpp
#include<bits/stdc++.h>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
// 存储每个数的最大质因子
vector<int> maxPrimeFactor(n + 1, 0);
// 筛选法计算最大质因子
for (int i = 2; i <= n; i++) {
if (maxPrimeFactor[i] == 0) { // i 是质数
maxPrimeFactor[i] = i;
// 标记 i 的所有倍数
for (int j = i * 2; j <= n; j += i) {
maxPrimeFactor[j] = i; // 更新为更大的质因子
}
}
}
// 输出结果
for (int i = m; i <= n; i++) {
cout << maxPrimeFactor[i];
if (i < n) cout << ",";
}
cout << endl;
return 0;
}
、