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 }