【题目描述】
任意输入两个正整数m,n(1<m<n≤5000),依次输出m到n之间每个数的最大质因子(包括m和n)
;如果某个数本身是质数,则输出这个数自身)。
【输入】
一行,包含两个正整数m和n,其间以单个空格间隔。
【输出】
一行,每个整数的最大质因子,以逗号间隔。
【输入样例】
5 10
【输出样例】
5,3,7,2,3,5
#include<bits/stdc++.h>
using namespace std;
bool f=0;
bool is_prime(int x){
if(x<2){
return false;
}
for(int i=2;i<=x/i;i++){
if(x%i==0){
return false;
}
}
return true;
}
int main(){
int m,n;
cin>>m>>n;
for(int i=m;i<=n;i++){
for(int j=i;j>=2;j--){
if(i%j==0&&is_prime(j)){
if(f==0){
cout<<j;
f=1;
}else{
cout<<","<<j;
}
break;
}
}
}
return 0;
}