[알고리즘] 9.소수 판별의 알고리즘

손영민's avatar
Mar 03, 2025
[알고리즘] 9.소수 판별의 알고리즘
💡
소수(prime number)는 1과 자기 자신 외에는 약수가 없는 자연수를 의미합니다.
public static void main(String[] args) { String A = "은(는) 소수입니다"; String B = "은(는) 소수가 아닙니다"; System.out.println(A); System.out.println(B); } }
 
package algo; //1.요구사항 //100은 소수인가? //2.비지니스 분석 =약수가 2개 -1과 자기 자신(N) 만을 약수로 가지는 수 //n=1 (x) //1이 들어올수 없어요. //n=2 (x) //2은 소수에요. //n=3 (x) //3은 소수에요. // N=5 //1은 생략 //2는 아님 5 % 2 != 0 //3는 아님 5 % 3 != 0 //4는 아님 5 % 4 != 0 //4는 약수 5 % 5 == 0 public class Sosu01 { public static void main(String[] args) { int n = 3; if (n == 1) { System.out.println("1은 들어올수 없습니다."); return; //값돌려주는거 값을 안넣으면 함수종료 } if (n == 2) { System.out.println("2는 소수"); return; } if (n == 3) { System.out.println("3는 소수"); return; } String s1 = "은 소수입니다."; String s2 = "은(를) 소수가 아닙니다."; System.out.println(); } }
 
//변수는 :1,2,3 변수: 약수, 아님, N바퀴 int a = 0; String s1 = "는 약수"; String s2 = "는 아님"; a++; System.out.println(a + s1); a++; System.out.println(a + s2); a++; System.out.println(a + s2); a++; System.out.println(a + s2); a++; System.out.println(a + s2); a++; System.out.println(a + s2); a++; System.out.println(a + s1); } }
 
//변수는 :1,2,3 변수: 약수, 아님, N바퀴 int a = 0; String s1 = "는 약수"; String s2 = "는 아님"; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); a++; System.out.println(a + (n % a == 0 ? s1 : s2)); a++; System.out.println(a + (n % a == 0 ? s1 : s2)); a++; System.out.println(a + (n % a == 0 ? s1 : s2)); a++; System.out.println(a + (n % a == 0 ? s1 : s2)); a++; System.out.println(a + (n % a == 0 ? s1 : s2)); a++; System.out.println(a + (n % a == 0 ? s1 : s2)); } }
 
a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; a++; System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; if (count == 2) { System.out.println(n + "은 소수입니다"); } else { System.out.println(n + "은 소수가 아닙니다"); } } }

자바 소수 판별 코드

package algo; public class PrimeNumber01 { public static void main(String[] args) { String A = "은(는) 소수입니다"; String B = "은(는) 소수가 아닙니다"; int n = 120; if (isPrime(n)) { System.out.println(n + A); } else { System.out.println(n + B); } } static boolean isPrime(int n) { if (n <= 0) { return false; } for (int i = 2; i <= Math.sqrt(n); i++) { if (n % i == 0) { return false; } } return true; } }
 
//변수는 :1,2,3 변수: 약수, 아님, N바퀴 String s1 = "는 약수"; String s2 = "는 아님"; int count = 0; for (int a = 1; a <= n; a++) { System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; } if (count == 1) { System.out.println(n + "은 소수입니다"); } else { System.out.println(n + "은 소수가 아닙니다"); } } }
 
package algo; //1.요구사항 //100은 소수인가? //2.비지니스 분석 =약수가 2개 -1과 자기 자신(N) 만을 약수로 가지는 수 //n=1 (x) //1이 들어올수 없어요. //n=2 (x) //2은 소수에요. //n=3 (x) //3은 소수에요. // N=5 //1은 생략 //2는 아님 5 % 2 != 0 //3는 아님 5 % 3 != 0 //4는 아님 5 % 4 != 0 //4는 약수 5 % 5 == 0 public class Sosu04 { public static void main(String[] args) { int n = 17; if (n == 1) { System.out.println("1은 들어올수 없습니다."); return; //값돌려주는거 값을 안넣으면 함수종료 } if (n == 2) { System.out.println("2는 소수"); return; } if (n == 3) { System.out.println("3는 소수"); return; } //변수는 :1,2,3 변수: 약수, 아님, N바퀴 String s1 = "는 약수"; String s2 = "는 아님"; int count = 1; int a = 2; { System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; } for (a = 3; a <= n; a = a + 2) { System.out.println(a + (n % a == 0 ? s1 : s2)); count = n % a == 0 ? count + 1 : count; } if (count == 2) { System.out.println(n + "은 소수입니다"); } else { System.out.println(n + "은 소수가 아닙니다"); } } }
 
Share article

sson17