问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
求出区间[a,b]中所有整数的质因数分解。
输出格式
每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)
输入案例:
在这里给出一组输入。例如:
3 10
输出案例:
在这里给出相应的输出。例如:
3=3
4=22
5=5
6=23
7=7
8=222
9=33
10=25
解题思路
先创建a到b区间的数组,并给予[a,b]顺序赋值;
先筛出所有素数,然后再分解;
通过字符串的追加;
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
int a = sr.nextInt(),b = sr.nextInt();
int[] h = new int[b-a+1];
if(a == b)
{
h[0] = a;
}
else
{
for(int i = a , j = 0;j < h.length ;i++,j++)
{
h[j] = i;
}
}
for (int les : h) {
int p = 2;
StringBuffer s = new StringBuffer(les + "=");
while (les >= p)
{
if(les%p == 0)
{
if(s.charAt(s.length()-1) != '=')
{
s.append("*");
}
s.append(p);
les = les/p;
}
else
{
p++;
}
}
System.out.println(s);
}
}
}