JAVA basic programming exercises program [4] 4 decomposition of the quality factor

 

[4] prime factor decomposition procedure 4

Title: a positive integer decomposition of the quality factor. For example: the input 90, to print out 90 = 3 * 2 * 3 * 5.

Analysis procedures: decomposition of the quality factor n, should find a smallest prime number k, then the following procedure is completed:

(1) If the prime exactly equal to n, then the prime factor decomposition process has been completed, it can be printed out.

(2) If n <> k, n but k can be divisible should print out the value of k, and k is divided by n using, as a new positive integer n, the first step is repeatedly executed.

(3) if n is not divisible by k, k + 1 is used as the value of k, the first step is repeatedly performed.

 

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

 

Guess you like

Origin www.cnblogs.com/denggelin/p/11280147.html