博约8486 • 25天前
using namespace std; bool isPrime(int i){
for(int j = 2;j < i; j++){
if(i % j == 0) {
return false;
}
}
return true;
} int main(){
int m, n;
cin >> m >> n;
for(int i = m; i <= n; i++){
if(isPrime(i)) cout << i << " ";
else{
int max = 0;
for(int j = 2;j <= i; j++){
if(i % j == 0 && isPrime(j) && j > max) max = j;
}
cout << max << " ";
}
}
}//注意判断条件不能用 j * j,因为求最大质因数
评论:
请先登录,才能进行评论