闫平平
写代码也要酷酷的!

导航

 

题目:将一个正整数分解质因数。例如:输入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();
    }
}

 

posted on 2019-03-10 20:43  写代码也要酷酷的  阅读(303)  评论(0编辑  收藏  举报