首页 > 代码库 > 1.13.21

1.13.21

21:最大质因子序列

描述

任意输入两个正整数m, n (1 < m < n <= 5000),依次输出m到n之间每个数的最大质因子(包括m和n;如果某个数本身是质数,则输出这个数自身)。

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

5 10

样例输出

5,3,7,2,3,5

来源元培-From Whf

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int a,b;
 4 bool ss(int n)
 5 {
 6     if(n==2) return true;
 7     for(int i=2;i<=sqrt(n);i++)
 8         if(n%i==0) return false;
 9     return true;
10 }
11 void j(int n)
12 {
13     for(int i=1;i<=n;i++)
14     {
15         if(n%i==0&&ss(n/i)==true) 
16         {
17             printf("%d",n/i);
18             if(n!=b)printf(",");
19             return;
20         }
21     }
22 }
23 int main()
24 {
25     scanf("%d%d",&a,&b);
26     for(int i=a;i<=b;i++)
27         j(i);
28     return 0;
29 }

 

1.13.21