λ¬Έμ μ€λͺ
1937λ Collatzλ μ¬λμ μν΄ μ κΈ°λ μ΄ μΆμΈ‘μ, μ£Όμ΄μ§ μκ° 1μ΄ λ λκΉμ§ λ€μ μμ μ λ°λ³΅νλ©΄, λͺ¨λ μλ₯Ό 1λ‘ λ§λ€ μ μλ€λ μΆμΈ‘μ λλ€. μμ μ λ€μκ³Ό κ°μ΅λλ€.
1-1. μ λ ₯λ μκ° μ§μλΌλ©΄ 2λ‘ λλλλ€. 1-2. μ λ ₯λ μκ° νμλΌλ©΄ 3μ κ³±νκ³ 1μ λν©λλ€. 2. κ²°κ³Όλ‘ λμ¨ μμ κ°μ μμ μ 1μ΄ λ λκΉμ§ λ°λ³΅ν©λλ€.
μλ₯Ό λ€μ΄, μ λ ₯λ μκ° 6μ΄λΌλ©΄ 6→3→10→5→16→8→4→2→1 μ΄ λμ΄ μ΄ 8λ² λ§μ 1μ΄ λ©λλ€. μ μμ μ λͺ λ²μ΄λ λ°λ³΅ν΄μΌνλμ§ λ°ννλ ν¨μ, solutionμ μμ±ν΄ μ£ΌμΈμ. λ¨, μμ μ 500λ²μ λ°λ³΅ν΄λ 1μ΄ λμ§ μλλ€λ©΄ –1μ λ°νν΄ μ£ΌμΈμ.
μ ν μ¬ν
- μ λ ₯λ μ, numμ 1 μ΄μ 8000000 λ―Έλ§μΈ μ μμ λλ€.
μ μΆλ ₯ μ
n | result |
16 | 4 |
626331 | -1 |
6 | 8 |
νμ΄:λͺ λ² λλμ§ μΈ‘μ νκΈ° μν΄ x λ³μλ₯Ό λ§λ€κ³ μΈμκ°μΌλ‘ μ λ ₯λ numμ κ°μ λ³κ²½λͺ»νλ―λ‘ numκ³Ό κ°μ nλ³μλ₯Ό λ§λ€μ΄μ€λ€.
κ·Έλ¦¬κ³ whileλ¬Έμ nμ΄ 1μ΄ μλλΌλ©΄ λ°λ³΅μ κ³μ νκ² νκ³
nμ΄ μ§μλΌλ©΄ n/2 νμλΌλ©΄ n*3+1μ ν΄μ£Όκ³ xλ₯Ό 1μ© μ¦κ°μν¨λ€. κ·Έλ¦¬κ³ xκ° 500μ΄ λμ΄κ°λ©΄ -1μ μλλ©΄ xλ₯Ό λ°ννκ² νλ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
func solution(_ num:Int) -> Int {
var x = 0
var n = num
while n != 1 {
if n%2 == 0 {
n = n/2
}else{
n = n*3+1
}
x += 1
}
return x > 500 ? -1 : x
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
'π Problem Solution > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ¨Έμ€ νμ€λ μ Swift (0) | 2020.03.01 |
---|---|
νλ‘κ·Έλλ¨Έμ€ νκ· κ΅¬νκΈ° Swift (0) | 2020.03.01 |
νλ‘κ·Έλλ¨Έμ€ μ΅λ곡μ½μμ μ΅μ곡배μ Swift (0) | 2020.02.29 |
νλ‘κ·Έλλ¨Έμ€ μ§μμ νμ Swift (0) | 2020.02.28 |
νλ‘κ·Έλλ¨Έμ€ μ μΌ μμ μ μ κ±°νκΈ° Swift (0) | 2020.02.28 |
λκΈ