여기서 소수의 정의는 1과 자기 자신만으로 나누어 떨어지는 1보다 큰 양의 정수를 뜻합니다. 특정 수를 1부터 그 자신의 수까지 쭉 나눠봤을 때 나머지가 0인 경우가 두 번 뿐이라면 그 수는 소수라고 볼 수 있을 것입니다.
import java.util.Scanner; public class PrimeNumber { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("숫자를 입력하세요. (1~2,147,483,647) >> "); int num = s.nextInt(); int maxPrimeNum = 0; for (int i = 1; i <= num; i++ ) { int modZero = 0; if (i == 1) //1은 소수가 아니라고 한다. continue; for (int j = 1; j <= i; j++) { if ( i % j == 0 ) modZero++; } if (modZero == 2) maxPrimeNum = i; } System.out.println("가장 큰 소수: " + maxPrimeNum); s.close(); } }
(999을 입력한 경우) 가장 큰 소수: 997 (1388을 입력한 경우) 가장 큰 소수: 1381 (6997을 입력한 경우) 가장 큰 소수: 6997
0개의 댓글