Math
์ํ๊ณผ ๊ด๋ จ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ์ด๋ณผ ๊ฒ์ด๋ค.
๋๋จธ์ง์ฐ์ฐ
๋ฌธ์ ์ค ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ผ๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋ต์ ๋ค ๊ตฌํํ์ ๊ตฌํ๋ฉด ๋ฒ์๋ฅผ ์ด๊ณผํ ์ ์๊ธฐ๋๋ฌธ์ ์ค๊ฐ์ ํด์ค์ผํ๋ค.
๊ณฑํ๊ธฐ์ ๊ฒฝ์ฐ์๋ ์ฑ๋ฆฝํ๋ค.
ํ์ง๋ง ๋๋๊ธฐ์ ๊ฒฝ์ฐ์๋ ์ฑ๋ฆฝํ์ง์๋๋ค.(Modular Inverse๋ฅผ ๊ตฌํด์ผํ๋ค.)
๋บ์ ์ ๊ฒฝ์ฐ ๋จผ์ mod๋ฅผ ํ ๊ฒฐ๊ณผ๊ฐ ์์๊ฐ ๋์ฌ ์ ์๊ธฐ๋๋ฌธ์ (A-B)%M = ((A%M)-(B%M)+M)%M์ ํด์ค์ผํ๋ค.
์ต๋๊ณต์ฝ์(Gretest Common Divisor)
๋ ์ A์ B์ ์ต๋๊ณต์ฝ์ G๋ A์ B์ ๊ณตํต๋ ์ฝ์ ์ค์์ ๊ฐ์ฅ ํฐ ์ ์์ด๋ค. ์ด๋ ์ต๋๊ณต์ฝ์๊ฐ 1์ธ ๋ ์๋ฅผ ์๋ก์(Coprime)์ด๋ผ๊ณ ํ๋ค.
2๋ถํฐ min(A,B)๊น์ง ๋ชจ๋ ์ ์๋ก ๋๋์ด๋ณด๋ ๋ฐฉ๋ฒ
์ ํด๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ(a๋ฅผ b๋ก ๋๋ ๋๋จธ์ง๋ฅผ r์ด๋ผ ํ์ ๋, GCD(a,b)=GCD(b,r), r=0์ด๋ฉด ๊ทธ ๋ b๊ฐ ์ต๋๊ณต์ฝ์์ด๋ค.)
a<b
์ธ ๊ฒฝ์ฐ์๋ a%b=a์ด๋ฏ๋ก ์๋์ผ๋ก a์ b๊ฐ ๋ฐ๋๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ฐ๋ก ๋์๊ด๊ณ๋ฅผ ๋น๊ตํด์ค ํ์๊ฐ ์๋ค.
์ธ ๊ฐ์ด์์ ์ต๋๊ณต์ฝ์๋ GCD(a,b,c)=GCD(GCD(a,b),c)์ ๊ฐ์ ์์ผ๋ก ๊ณ์ํด์ ๊ตฌํ ์ ์๋ค.
์ต์๊ณต๋ฐฐ์(Least Common Multiple)
๋ ์์ ๊ณตํต๋ ๋ฐฐ์ ์ค์์ ๊ฐ์ฅ ์์ ์ ์์ด๋ค. ์ต์๊ณต๋ฐฐ์๋ ์ต๋๊ณต์ฝ์๋ฅผ ์ด์ฉํด์ ๊ตฌํ ์ ์๋ค. ์ด ๋, ์ต์๊ณต๋ฐฐ์๋ ๋ ์๋ณด๋ค ํฐ ์์ด๋ฏ๋ก ๋ฒ์๋ฅผ ์ ํ์ธํด์ ๊ตฌํด์ผํ๋ค.
์ต๋๊ณต์ฝ์ * ์ต์๊ณต๋ฐฐ์ = A*B
์ด๋ค.์ฆ,
์ต์๊ณต๋ฐฐ์ = (A*B)/์ต๋๊ณต์ฝ์
์ด๋ค.
์ง๋ฒ ๋ณํ
10์ง๋ฒ ์ N์ B์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๋ ค๋ฉด N์ด 0์ด ๋ ๋๊น์ง ๋๋จธ์ง๋ฅผ ๊ณ์ํด์ ๊ตฌํ๋ฉด๋๋ค.
10 to N
10์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ B์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
A: 10, B: 11, ..., F: 16, ..., Y: 34, Z: 35
B to 10
B์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ 10์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
A: 10, B: 11, ..., F: 16, ..., Y: 34, Z: 35
2 to 8
2์ง์๊ฐ ์ฃผ์ด์ก์ ๋, 8์ง์๋ก ๋ณํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
8 to 2
8์ง์๊ฐ ์ฃผ์ด์ก์ ๋, 2์ง์๋ก ๋ณํํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
8 to -2
-2์ง๋ฒ์ ๋ถํธ ์๋ 2์ง์๋ก ํํ์ด ๋๋ค. 2์ง๋ฒ์์๋ 20, 21, 22, 23์ด ํํ ๋์ง๋ง -2์ง๋ฒ์์๋ (-2)0 = 1, (-2)1 = -2, (-2)2 = 4, (-2)3 = -8์ ํํํ๋ค. 10์ง์๋ก 1๋ถํฐ ํํํ์๋ฉด 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 ๋ฑ์ด๋ค.
๋๋จธ์ง๊ฐ ์์๊ฐ ๋์ค๋ฉด ์๋๋ค.
์์/-2
2๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ
์์/-2
2๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ
A to B
A์ง๋ฒ์ B์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๊ธฐ
A์ง๋ฒ -> 10์ง๋ฒ -> B์ง๋ฒ
์์
์ฝ์๊ฐ 1๊ณผ ์๊ธฐ ์์ ๋ฐ์ ์๋ ์์ด๋ค.
N์ด ์์๊ฐ ๋๋ ค๋ฉด, 2์ด์ N-1์ดํ์ ์์ฐ์๋ก ๋๋์ด ๋จ์ด์ง๋ฉด ์๋๋ค.
๊ตฌํ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ1
์๊ฐ๋ณต์ก๋ : O(n)
๋ฐฉ๋ฒ2
N์ ์ฝ์ ์ค์์ ๊ฐ์ฅ ํฐ ๊ฒ์ N/2๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๊ธฐ ๋๋ฌธ์ 2์ด์ N/2์ดํ์ ์์ฐ์๋ก ๋๋์ด ๋จ์ด์ง๋ฉด๋๋ค.
์๊ฐ๋ณต์ก๋ : O(n)
๋ฐฉ๋ฒ3
N์ด ์์๊ฐ ์๋๋ผ๋ฉด, N=a*b
๋ก ๋ํ๋ผ ์ ์๋ค.(a<=b)
๋ ์ a์ b์ ์ฐจ์ด๊ฐ ๊ฐ์ฅ ์์ ๊ฒฝ์ฐ๋ ๋ฃจํธ(n) ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก 2์ด์ ๋ฃจํธ(n)์ดํ ์ ์์ฐ์๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์๋ฅผ ๋น๊ตํด๋ณด๋ฉด๋๋ค.
์๋ฅผ ๋ค์ด, N=24์ด๋ค.
N=24์ ์ฝ์ : 1 2 3 4 6 8 12 24
1๊ณผ ์๊ธฐ์์ (24)์ ์ธํ ์ฝ์ : 2 3 4 6 8 12
๋ฃจํธ(24) ๋ ์ฝ 4.xxxx์ด๋ค. ๋ฃจํธ(24)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ผ๋ก ๋๋ ์ ์๋ค.
2 3 4 | 6 8 12
๋ฃจํธ(24)๋ฅผ ๊ธฐ์ค์ผ๋ก ์์์์์ ๋๋์ด ๋จ์ด์ง๋ ์๊ฐ ์๋ค๋ฉด ํฐ ์ชฝ์์๋ ๋๋์ด ๋จ์ด์ง๋ ์๊ฐ ์๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ธฐ์ค์์ ์์์๋ฅผ ๋น๊ตํด ๋๋์ด ๋จ์ด์ง์ง ์๋ ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
์๊ฐ๋ณต์ก๋ : O(root(n))
์ฃผ์ด์ง ์ N๊ฐ ์ค์์ ์์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ผํ ์คํ
๋ค์ค์ ์ฒด
1๋ถํฐ N๊น์ง ๋ฒ์ ์์ ๋ค์ด๊ฐ๋ ๋ชจ๋ ์์๋ฅผ ๊ตฌํ๋ ค๋ฉด ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ฌ์ฉํ๋ค. ์๋ํ๋ฉด ๊ฐ๊ฐ์ ์์ ๋ํด์ ์์์ธ์ง ์๋์ง ๊ฒ์ฌํ๋๋ฐ O(root(N))์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ฐ, N๊ฐ๋ฅผ ๊ฒ์ฌํด์ผํ๋ฏ๋ก O(Nroot(N))์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ฏ๋ก ๋๋ฌด ๊ธด ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ๊ตฌํ๋ค.
2๋ถํฐ N๊น์ง ๋ชจ๋ ์๋ฅผ ์จ๋๋๋ค.
์์ง ์ง์์ง์ง ์์ ์ ์ค์์ ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ๋๋ค.
๊ทธ ์๋ ์์์ด๋ค.
์ด์ ๊ทธ ์์ ๋ฐฐ์๋ฅผ ๋ชจ๋ ์ง์ด๋ค.
์ด๋ ๊ฒ ์ง์ฐ๊ณ ๋จ์ ์๋ ์๊ฐ ๋ชจ๋ ์์์ด๋ค.
๊ตฌํ
์๊ฐ๋ณต์ก๋ : O(Nloglog(N))
n/2 + n/3 + n/4 + โฆ. = loglog(N)
์ฃผ์ํ ์ i*i๋ N์ ๋ฒ์์ ๋ฐ๋ผ์ i+i๋ก ๋ณ๊ฒฝํด์ค๋ค.(๋ฐฑ๋ง์ด์์ผ ๊ฒฝ์ฐ ๋ฒ์ ์ด๊ณผ)
M์ด์ N์ดํ์ ์์๋ฅผ ๋ชจ๋ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ฆ๋ช ์ด ๋์ง ์์ ๋ฌธ์ ์ฌ์ ์ถ์ธก์ด๋ผ๊ณ ํ๋ค.
2๋ณด๋ค ํฐ ๋ชจ๋ ์ง์๋ ๋ ์์์ ํฉ์ผ๋ก ํํ์ด ๊ฐ๋ฅํ๋ค.
5๋ณด๋ค ํฐ ๋ชจ๋ ํ์๋ ์ธ ์์์ ํฉ์ผ๋ก ํํ์ด ๊ฐ๋ฅํ๋ค.
10^18์ดํ์์๋ ์ฐธ์ธ ๊ฒ์ด ์ฆ๋ช ๋์ด ์๋ค.
์์ธ์๋ถํด
์ ์ N์ ์์์ ๊ณฑ์ผ๋ก ๋ถํดํ ๊ฒ์ด๋ค.
์์๋ฅผ ๊ตฌํ์ง ์๊ณ ๋ ํด๊ฒฐํ ์ ์๋ค.
N์ ์์ธ์๋ถํด ํ์ ๋, ๋ํ๋ ์ ์๋ ์ธ์ ์ค์์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ฃจํธ(N)์ด๋ค.
ํฉํ ๋ฆฌ์ผ
ํฉํ ๋ฆฌ์ผ์ ๋งค์ฐ ํฐ ๊ฐ์ด๋ค.
03.Recursive์์ ํฉํ ๋ฆฌ์ผ์ ์ํ๊ณผ ๋ฐ๋ณต์ผ๋ก ํ์ด๋ณธ ๋ฌธ์ ๊ฐ ์๋ค.
์ฐ๋ฆฌ๊ฐ ํฉํ ๋ฆฌ์ผ์ ํ ์ ์๋ ๊ท๋ชจ๋ 10! = 3628800 ๊น์ง์ด๋ค.
N!์์ 0์ด ๋ช๊ฐ์ธ์ง ์์๋ด๋ ๋ฌธ์ ์ด๋ค.
ex) 10! = 3628800
0์ด ๋ช๊ฐ์ธ์ง๋ N!๋ฅผ ์์ธ์๋ถํด ํด๋ณด๋ฉด ์ ์ ์๋ค.
10! = 2^6 * 3^4 * 7 * (2^2 * 5^2)
ํ์ง๋ง ์ค์ ๋ก ๊ตฌํ ๋ ์์ธ์๋ถํด๋ฅผ ๋ค ํ ํ์๋ ์๋ค. 5์ ๊ฐ์๊ฐ ํญ์ 2์ ๊ฐ์๋ณด๋ค ์ ๊ธฐ ๋๋ฌธ์ 5์ ๊ฐ์๋ง ์ธ์ด์ฃผ๋ฉด๋๋ค.
N!์ 0์ ๊ฐ์ = [N/5]+[N/5^2]+[N/5^3]+โฆ
์๋ฅผ ๋ค์ด 100!์ด๋ฉด (100/5 = 20) + (100/25) = 24๊ฐ์ด๋ค.
nCm์ ๋์๋ฆฌ 0์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ํฉํ ๋ฆฌ์ผ์์๋ 2์ ๊ฐ์๊ฐ 5์ ๊ฐ์๋ณด๋ค ํญ์ ๋ง๊ธฐ ๋๋ฌธ์ 5๋ง ์ธ์ด์คฌ์ง๋ง, ์กฐํฉ์ ์ด๋ป๊ฒ ๋ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ 2์ 5์ ๊ฐ์๋ฅผ ๋ชจ๋ ์ธ์ด์ค์ผํ๋ค.
Last updated