자바 소수 구하기 / 소수 판별하기
소수란?
1과 자기자신만을 약수로 갖는 양의 정수를 말합니다.
2는 1과 2를 약수로 갖습니다. 즉 소수 입니다.
10은 1, 2, 5, 10을 약수로 갖습니다. 즉 소수가 아닙니다.
이것을 Java로 구현해보겠습니다.
Java 소수 판별 예제
사용자에게 숫자를 입력받고, 그 숫자가 소수 인지 판별하는 자바 프로그램을 구현하시오.
Java 소수 판별 소스 코드
import java.util.Scanner;
public class JAVA_EXAMPLE_003 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("소수인지 판별할 숫자를 입력하세요(1보다 커야 합니다.)");
int num = sc.nextInt();
int result = Is_Prime(num);
if(result == 2)
System.out.println(num + "은 소수입니다.");
else if(result < 2)
System.out.println("1보다 큰 양의 정수를 입력해주세요.");
else
System.out.println(num + "은 소수가 아닙니다.");
}
private static int Is_Prime(int num)
{
int count = 0;
for(int i = 1; i <= num; i++)
{
if(num % i == 0)
count += 1;
if(count >= 3)
return count;
}
return count;
}
}
자바 소수 구하기 소스 코드 설명
1. 사용자에게 숫자를 입력받습니다.
2. 입력받은 수를 파라미터로 Is_Prime 메서드를 실행합니다.
3. Is_Prime메서드는 입력받은 파라미터의 약수의 갯수를 반환합니다.
- 약수의 갯수가 3개 이상이라면, 더이상 소수일 수 없기 때문에 바로 반환시켜버립니다.
4. 반환받은 숫자를 result 변수에 담고 if문을 통해 입력받은 숫자가 소수였는지 판별합니다.
- 약수가 2개뿐이다 => 소수
- 약수가 2개보다 작다 => 1이하의 숫자가 입력되었기에 1보다 큰 양의 정수를 입력해달라고 표출합니다.
- 그외의 케이스 : 위의 두 케이스 이외라고 하면 결국 약수가 3개 이상인 경우 밖에 남질 않습니다. => 소수가 아님.
※ Java에서 Scanner를 이용해서 사용자에게 입력을 받는 방법은 아래 링크 참조.
자바 소수 구하기 결과
사용자가 입력 한 숫자가 소수인지 아닌지 출력 결과를 통해 바로 확인 할 수 있습니다.
'IT프로그래밍 > JAVA(자바)' 카테고리의 다른 글
[JAVA]자바 시작하기: 설치부터 Hello Java까지 (0) | 2024.05.26 |
---|---|
[JAVA]자바 약수 개수 구하기 - 입력받은 수의 약수 개수 출력 소스 코드 (0) | 2022.03.07 |
[JAVA]자바 약수 구하기 - 입력한 숫자의 약수를 출력 예제 / 소스 코드 (0) | 2022.03.07 |
[JAVA]자바 Scanner 예제 - 입력받기, 변수에 저장하기 (0) | 2022.03.06 |
[JAVA]자바 출력문 - println으로 콘솔 화면에 출력하기 예제 (0) | 2022.03.05 |
댓글