A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ʚ

初级黑马

  • 黑马币:20

  • 帖子:6

  • 精华:0

© ʚ 初级黑马   /  2018-7-19 00:13  /  1380 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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值
            }

        }
    }
}

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马