首页 > 代码库 > 最大质因子序列

最大质因子序列

21:最大质因子序列
总时间限制: 1000ms 内存限制: 65536kB
描述
任意输入两个正整数m, n (1 < m < n <= 5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。

输入
一行,包含两个正整数m和n,其间以单个空格间隔。
输出
一行,每个整数的最大质因子,以逗号间隔。
样例输入
5 10
样例输出
5,3,7,2,3,5

题目链接:http://noi.openjudge.cn/ch0113/21/

 1 #include <stdio.h>
 2 int fun(int n)//计算并返回n的最大质因数
 3 {
 4     int i;
 5     i=2;
 6     while(i<=n)
 7     {
 8         while(i<=n&&n%i==0) n=n/i;
 9         i++;
10     }
11     return i-1;
12 } 
13 int main(int argc, char *argv[])
14 {
15     int m,n,i,t;
16     scanf("%d%d",&m,&n);
17     for(i=m;i<=n;i++)
18     {
19         t=fun(i);
20         if(i==m) printf("%d",t);
21         else printf(",%d",t);
22     }
23     return 0;
24 }

 

最大质因子序列