English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 숫자가 소수인지 확인하는 방법을 배울 것입니다. 이는 Java의 for 반복문과 while 반복문을 사용하여 완료됩니다.
소수는 두 개의 숫자로만 나눌 수 있는 숫자입니다:1그리고 그 자신으로 나누어질 수 있습니다. 따라서 숫자가 나누어질 수1그리고 그 자신의 다른 숫자로 나누어지면, 그것은 소수가 아닙니다.
public class Prime { public static void main(String[] args) { int num = 29; boolean flag = false; for(int i = 2; i <= num/2; ++i) { //비소수 조건 if (num % i == 0) { flag = true; break; } } if (!flag) System.out.println(num + " 소수입니다"); else System.out.println(num + " 소수가 아닙니다"); } }
출력 결과
29 소수입니다
위의 프로그램에서, for 반복문은 주어진 숫자 num이 소수인지 확인하기 위해 사용됩니다.
여기서 주의해야 할 것은, 우리가2num까지 반복합니다 / 2이는 숫자가 절반 이상의 정수로 나눌 수 없기 때문입니다.
for 반복문 내에서, 숫자가 주어진 범위 내의 어떤 숫자로도 나누어지는지 확인합니다(2...num/2)。
만약 num이 나누어지면, flag는 true로 설정되고, 그 후로 반복문을 탈출합니다. 이는 num이 소수가 아니라는 것을 확정합니다.
만약 num이 어떤 숫자로도 나누어지지 않으면, flag는 false가 되고, num은 소수입니다.
public class Prime { public static void main(String[] args) { int num = 33, i = 2; boolean flag = false; while (i <= num/2) { //비소수 조건 if (num % i == 0) { flag = true; break; } ++i; } if (!flag) System.out.println(num + " 소수입니다"); else System.out.println(num + " 소수가 아닙니다"); } }
출력 결과
33 소수가 아닙니다
위 프로그램에서 while 루프를 for 루프 대신 사용합니다. 루프는 i <= num까지 실행됩니다 / 2。 각 반복에서 num이 i로 나누어지는지 확인하고 i의 값을 증가시킵니다1。
이 페이지에 접근하여두 시간 간격 사이의 모든 소수를 표시。