-
Kotlin π¬ λ°±μ€ 15λ¨κ³ :: 1929 λ²2024. 3. 13. 15:18λ°μν
μμ ꡬνκΈ°
λ¬Έμ |
Mμ΄μ Nμ΄νμ μμλ₯Ό λͺ¨λ μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯ |
첫째 μ€μ μμ°μ Mκ³Ό Nμ΄ λΉ μΉΈμ μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€. (1 ≤ M ≤ N ≤ 1,000,000) Mμ΄μ Nμ΄νμ μμκ° νλ μ΄μ μλ μ λ ₯λ§ μ£Όμ΄μ§λ€.
μΆλ ₯ |
ν μ€μ νλμ©, μ¦κ°νλ μμλλ‘ μμλ₯Ό μΆλ ₯νλ€.
νμ΄ |
μλΌν μ€ν λ€μ€μ 체 μκ³ λ¦¬μ¦μ μ΄μ©ν΄ μμ λμΆ (μΈμλκΈ°)
λ΅μ |
1. μλΌν μ€ν λ€μ€μ 체 μκ³ λ¦¬μ¦ μ¬μ©
fun main() { val (M, N) = readLine()!!.split(" ").map { it.toInt() } val primes = sieveOfEratosthenes(N) for (i in M..N) { if (primes[i]) { println(i) } } } fun sieveOfEratosthenes(limit: Int): MutableList<Boolean> { val sieve = MutableList(limit + 1) { true } sieve[0] = false sieve[1] = false var p = 2 while (p * p <= limit) { if (sieve[p]) { var i = p * p while (i <= limit) { sieve[i] = false i += p } } p++ } return sieve }
2. forλ¬Έ μ΄μ©ν μμμ°ΎκΈ°
fun main() { val (M, N) = readLine()!!.split(" ").map { it.toInt() } for (i in M..N) { if (isPrime(i)) { println(i) } } } fun isPrime(num: Int): Boolean { if (num == 1) { return false } else if (num == 2) { return true } else { for (i in 2..(Math.sqrt(num.toDouble())).toInt()) { if (num % i == 0) { return false } } return true } }
λ°μν'π Algorithm > π λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Kotlin π¬ λ°±μ€ 15λ¨κ³ :: 17103 λ² (1) 2024.03.23 Kotlin π¬ λ°±μ€ 15λ¨κ³ :: 4948 λ² (0) 2024.03.14 Kotlin π¬ λ°±μ€ 15λ¨κ³ :: 4134 λ² (0) 2024.03.12 Kotlin π¬ λ°±μ€ 15λ¨κ³ :: 2485 λ² (0) 2024.03.11 Kotlin π¬ λ°±μ€ 15λ¨κ³ :: 1735 λ² (0) 2024.03.10