백엔드 과정/Java

Java 문제풀이 3-1. 반복문으로 입력값 소수 판별하기

mim 2021. 12. 27. 09:27
반응형

문제


/* 2보다 큰 정수를 하나 입력 받아 그 수가 소수인지 아닌지를 판별해서 출력하세요
 * 소수인 경우 "소수다." 출력, 소수가 아닌 경우 "소수가 아니다." 출력
 * 
 * 단, 2보다 큰 정수가 아닌 경우 "잘못 입력하셨습니다. 다시 입력하세요." 라고 출력 후
 * 정수를 다시 입력 받을 수 있도록 한다. 
 * 
 * 소수란?
 * 어떤 수를 1부터 자기 자신까지 차례대로 나누었을 때
 * 나누어 떨어지는 수가 1과 자기 자신만 존재하는 수를 소수라고 한다.
 * 
 * -- 입력 예시 --
 * 2보다 큰 정수를 하나 입력하세요 : 7
 * 
 * -- 출력 예시 --
 * 소수다.
 * */

 


작성한 답)

 

int num =0;
		
		do{
		Scanner sc = new Scanner(System.in);
		System.out.print("2보다 큰 정수를 입력하세요 : ");
		num = sc.nextInt();
			
		 	/*2보다 작은 수를 입력했을 때 리턴*/
			if (num<2) {
				System.out.print("잘못 입력하셨습니다. 다시 입력하세요.");
				return;
			}
			/*2는 소수이다.*/
			if(num == 2) {
				System.out.print("소수다"); }
				
	/* 소수 구하는 for문 */	
	/* 임의의 수 i < num (소수는 자기 자신과 1로만 나누어진다.) 7일때 6까지 비교해봄. */
            
		  	for(int i = 2; i < num; i++) {	
				if(num % i == 0) {			
            			  System.out.print("소수가 아니다");
					return;
				} else {					
				System.out.print("소수다");  
					return;
				}
			}
		} while(num<2);
	}
 }
반응형