Basic100 - 7. 소수판별

J·2021년 3월 27일
0

코딩테스트 연습

목록 보기
15/28

import java.util.Scanner;

//소수판별
//소수는 약수가 1과 자기자신뿐일때 성립
public class PrimeNum {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();		
		boolean flag = true;
        
		for(int i=2;i<=n/2;i++) { // ❓
			if(n%i==0) {
				flag = false;			
			}	
		}
		if(flag==false)System.out.println("소수가 아닙니다.");		
		else System.out.println("소수입니다.");
		
		 sc.close();
	}

}

for(int i=2; i<=n-1; i++)

n을 2~(n-1)로 나누어 약수를 판단할때

n은 n-1로 나누어떨어지지 않기 때문에 무의미하다.

특히 큰 숫자들은 메모리낭비


for(int i=2; i<=n/2; i++)

i<n/2; 로만 하여도 판단가능

0개의 댓글