Description
任意输入两个正整数 �,�m,n(2≤�≤�≤50002≤m≤n≤5000),依次输出 �m 到 �n 之间每个数的最大质因子(包括 �m 和 �n;如果某个数本身是质数,则输出这个数自身)。
Input
一行,包含两个正整数 �m 和 �n,其间以单个空格间隔。
Output
一行,每个整数的最大质因子,以逗号间隔。
Sample 1
Inputcopy | Outputcopy |
---|---|
5 10 | 5,3,7,2,3,5 |
#include <stdio.h>
long long max(long long n);
int main(){
int x,y;
scanf("%d %d",&x,&y);
for(int i = x;i < y;i++){
printf("%lld,",max(i));
}
printf("%lld",max(y));
return 0;
}
long long max(long long n){
if(n == 1){
return 1;
}
else {
for(int i = 2;i < n;i++){
if(n % i == 0){
return max(n / i);
}
}
return n;
}
}