1410:最大质因子序列
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 17916 通过数: 12141
【题目描述】
任意输入两个正整数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 <bits/stdc++.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; }