问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1*a2*a3...(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
import java.util.Scanner;
public class 分解数字 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
for(int i = a;i<=b;i++){
System.out.print(i+"=");
int temp = i; //定义变量temp防止循环中i值的发生改变
for(int j = 2;j<temp;j++){ //让i与小于本身大于等于2的所有数进行模运算
if(temp%j==0){ //如果等于0则说明可以被分解
System.out.print(j+"*");
temp=temp/j;
j--; //每次循环保证j的值保持不变
}
}
System.out.println(temp);//如果不能分解直接等于本身
}
}
}
结果:
5
9
5=5
6=2*3
7=7
8=2*2*2
9=3*3