java分解质因数,具体程序分析和代码

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

将一个正整数分解质因数
分析:对n进行分解质因数,找到最小的质数k
如果这个质数恰好等于n则说明分解质因数过程已经结束,打印输出即可
如果n<>k,但n能被k整除,则因打印k的值,并用n除以k的商,作为新的正整数n,重复2
如果不能被k整除,则用k+1作为k的值

import java.util.*;
public class Rabbit{
    public static void main(String[] args){
        System.out.println("请输入一个你要分解的正整数");
        Scanner sc=new Scanner(System.in);
        int input=sc.nextInt();
        System.out.print(input+"=");
        for(int i=2;i<input+1;i++){
            while(input%i==0&&input!=i){
                input=input/i;
                System.out.print(i+"*");
            }
            //这个地方的判断是为了剔除121,具体的方法还待优化
            if(input==i){
                System.out.print(i);
                break;
            }
        }
        sc.close();
    }
}

猜你喜欢

转载自www.cnblogs.com/yanpingping/p/10507024.html