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;
    	}
    }
    
  • 相关阅读:
    vue实现语音播报功能
    vue使用vueCropper裁剪功能,代码复制直接使用
    阿里云服务器安装mongodb并且启动
    脚手架安装react
    PHP 和Apache的安装和配置
    CentOS yum 源的配置与使用
    Linux -Yum 命令详解
    (干货)Linux学习资源推荐
    linux学习书籍推荐linux学习书籍推荐
    一些C++内容的总结(2013.10.17)
  • 原文地址:https://www.cnblogs.com/denggelin/p/11280147.html
Copyright © 2011-2022 走看看