题目描述
求出区间[a,b]中所有整数的质因数分解。
提示
先筛出所有素数,然后再分解。
分解质因数
2< =a< =b< =10000
输入
输入两个整数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
思路:质因数是除了1以外,两个没有其他共同质因子的正整数称为互质,简单来说就是,是质数的因数,质数又称素数,指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。所以例如10的质因数为2和5,2和5就是质数也是10的因数。又如8可分解为2*4,但4不是质因数,所以再次分解成2*2*2。
代码实现思路:首先判断是素数的只有自己是质因数,然后开始分解,当除以k的值等于0说明是因数,例如8分解第一次一个2后,等于4,4再分解2,依次类推,知道没有因数为止。
代码实现
import java.util.Scanner;
/**
* 分解质因数
*/
public class Main{
public static void main(String[] args) {
//1.输入数据
Scanner scanner=new Scanner(System.in);
int m=scanner