백엔드 과정/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);
}
}
반응형