1056: 分解质因数
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b
输出格式
每行输出一个数的分解,形如k=a1a2a3...(a1< =a2< =a3...,k也是从小到大的)(具体可看样例)
样例输入
3 10
样例输出
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
提示:先筛出所有素数,然后再分解。 数据规模和约定:2< =a< =b< =10000
import java.util.Scanner;
public class Main {
public static void out(int n) {
System.out.print(n+"=");
int n2=n;
for(int i = 2;i*i<=n2;i++)
{
while(n2%i==0)
{
System.out.print(i);
n2=n2/i;
if(n2!=1)
System.out.print("*");
}
}
if(n2 != 1) System.out.print(n2); //当n为质数
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a,b;
while(in.hasNext()) {
a = in.nextInt();
b = in.nextInt();
for (; a <= b; a++) {
out(a);
System.out.println();
}
}
}
}