1410:最大质因子序列
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 9685 通过数: 6474
【题目描述】
任意输入两个正整数m,n(1<m<n≤5000)m,n(1<m<n≤5000),依次输出mm到nn之间每个数的最大质因子(包括mm和nn;如果某个数本身是质数,则输出这个数自身)。
【输入】
一行,包含两个正整数mm和nn,其间以单个空格间隔。
【输出】
一行,每个整数的最大质因子,以逗号间隔。
【输入样例】
5 10
【输出样例】
5,3,7,2,3,5
【参考代码】
#include <stdio.h>
#include <math.h>
int is_prime(int n)
{
int i,k;
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int m,n;
int i,j;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
for(j=i; j>=2; j--)
{
if((i%j==0) && is_prime(j))
{
printf("%d",j);
if(i!=n)
printf(",");
break;
}
}
}
printf("\n");
return 0;
}
http://ybt.ssoier.cn:8088/problem_show.php?pid=1410