본문 바로가기

기타/java 자료구조와 알고리즘

[JAVA]소수 판별 메소드

728x90

자바 소수 판별 메소드를 만들어 보도록 하겠습니다.

소수란 자기자신과 1만 약수로 갖는 수로

2,3,5,7,11,13,17,19.. 등이 있습니다.

 

구현은 간단하게 할 수 있습니다.

입력받은 n보다 작은 수로 n을 나누었을 때 한 번이라도 나누어지면 false를 반환하는 것입니다.

코드는 아래와 같습니다.

public class javaarray{
	static boolean primenumber(int n) {
		if(n==1) {
			return false;
		}
		for(int i=2 ; i<n ; i++ ) {
			if(n%i==0) {
				return false;
			}
		}
		return true;
		
	}

	public static void main(String[] args) {
		if(primenumber(1)) {
			System.out.println("소수입니다.");
		}
		else {
			System.out.println("소수가 아닙니다.");
		}
		
		if(primenumber(2)) {
			System.out.println("소수입니다.");
		}
		else {
			System.out.println("소수가 아닙니다.");
		}
		
		if(primenumber(3)) {
			System.out.println("소수입니다.");
		}
		else {
			System.out.println("소수가 아닙니다.");
		}
		
		if(primenumber(4)) {
			System.out.println("소수입니다.");
		}
		else {
			System.out.println("소수가 아닙니다.");
		}
		
		if(primenumber(5)) {
			System.out.println("소수입니다.");
		}
		else {
			System.out.println("소수가 아닙니다.");
		}
	}
}

728x90