黑马程序员技术交流社区

标题: 将一个正整数分解质因数 [打印本页]

作者: ʚ    时间: 2018-7-19 00:13
标题: 将一个正整数分解质因数
package cn.itcast.homework;
/*
    将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
   质因数就是能被整除的质数
*/
import java.util.Scanner;

public class Demo04PrimeNumber {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一个数,将对其分解质因数:");
        int num = scanner.nextInt();
        System.out.print("分解质因数后:" + num + "=");
        zhiShu(num);//调用方法
    }

    public static void zhiShu(int num) {
        for (int i = 2; i <= num; i++) {
            //如果num能整除最小的数,则整除后的数继续执行该操作
            if (num % i == 0) {
                if (num == i) {//如果最后整除的数与被除数相同,则直接输出
                    System.out.println(num);
                    break;//如果最后的num值与最后的除数一样,则结束for循环
                }
                System.out.print(i + "*");
                num = num / i;//重定义num值
                i = 1;//重定义i值
            }

        }
    }
}

作者: 小浙姐姐    时间: 2018-7-23 16:03





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2