zoukankan      html  css  js  c++  java
  • JAVA 基础编程练习题4 【程序 4 分解质因数】

    4 【程序 4 分解质因数】

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

    程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:

    (1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。

    (2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 n,重复执行第一 步。

    (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。

    package cskaoyan;
    
    import org.junit.Test;
    
    public class cskaoyan4 {
    	@Test
    	public void zhiYinShu() {
    		java.util.Scanner in = new java.util.Scanner(System.in);
    		int number = in.nextInt();
    		int prime = 2;
    		in.close();
    
    		if (number < 2) {
    			return;
    		} else {
    			System.out.print(number + "=");
    
    			while (number != prime) {
    				if (number % prime == 0) {
    					System.out.print(prime + "*");
    					number = number / prime;
    				} else {
    					prime = nextPrime(prime);
    				}
    			}
    
    			System.out.print(number);
    		}
    	}
    
    	public int nextPrime(int number) {
    		number = number + 1;
    
    		while (true) {
    			if (isPrime(number)) {
    				return number;
    			} else {
    				number = number + 1;
    			}
    		}
    	}
    
    	public boolean isPrime(int number) {
    		boolean flag = true;
    
    		if (number < 2) {
    			flag = false;
    		} else if (number == 2) {
    			flag = true;
    		} else {
    			for (int i = 2; i <= Math.sqrt(number); i++) {
    				if (number % i == 0) {
    					flag = false;
    					break;
    				}
    			}
    		}
    
    		return flag;
    	}
    }
    
  • 相关阅读:
    deepin 安装版本管理工具
    deepin 安装maven
    deepin 安装 idea
    启动VMware环境下的Linux操作系统,添加新分区
    Centos6.*安装vsftpd
    easyui-datebox 年月视图显示
    oracle-数据库泵EXPDP导出用户下所有
    Oracle虚拟机配置
    JSON理解
    Python语法基础_04.元组、函数-上
  • 原文地址:https://www.cnblogs.com/denggelin/p/11280147.html
Copyright © 2011-2022 走看看