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

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

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

效果演示
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。_第1张图片
代码如下

package com.exam1.test1;

import java.util.Scanner;

public class Factor {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入数字:");
        int num = scanner.nextInt();
        int x=2;
        System.out.print(num+"=");
        while (x<=num){//通过循环来找到可以被整除的数,然后通过控制台打印输出
            if(x==num){//如果相等的话,说明这个数没有因数,只有1和它本身
                System.out.println(x);
                break;
            }
            else if(num%x==0){ //如果这个数有因数,然后除去这个因数的值后,继续循环
                System.out.print(x+"*");
                num=num/x;
            }
            else {
                x++;//如果都不满足,则继续循环
            }
        }
    }


}

你可能感兴趣的:(算法,java基础,java,算法,蓝桥杯)