์์ธ์ ๋ถํด
-
- [Algorithm] ์์ธ์ ๋ถํด(Prime/Integer Factorization)
์์ธ์ ๋ถํด(Prime/Integer Factorization) ๊ฐ๋ ํน์ ์์ฐ์๋ฅผ 1๋ณด๋ค ํฐ ์์ฐ์์ธ ์์ธ์(์์์ธ ์ธ์)๋ค๋ง์ ๊ณฑ์ผ๋ก ํํํ๋ ๊ฒ ํฉ์ฑ์๋ฅผ ์์์ ๊ณฑ์ผ๋ก ๋ํ๋ด๋ ๋ฐฉ๋ฒ ์์ธ์ ๋ถํด๋ฅผ ์ผ์์ ์ผ๋ก ๊ฒฐ์ ํ๋ ๊ณต์์ ์์ง ๋ฐ๊ฒฌ๋์ง ์์๋ค. ํ๋ ์ํธํ์์ ์์ธ์ ๋ถํด๋ ์ํธ ์ฒ๋ฆฌ๋ฅผ ํ๋๋ฐ ์ค์ํ๊ฒ ์ฌ์ฉ๋๋ค. ๋ชจ๋ ํฉ์ฑ์๋ ์์ธ์ ๋ถํด๋ ํํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ฐ์ ์ ๊ธฐ๋ณธ ์ ๋ฆฌ(Fundamental Theorem of Arithmetic)๋ก ์ฆ๋ช ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ณธ ์๊ณ ๋ฆฌ์ฆ ์์ธ์๋ 1์ด๋ผ๋ ๊ฐ์ด ์๋ 2๋ถํฐ ์์ํ๋ ๊ฒ์ด ํต์ฌ์ด๋ฉฐ, 2๋ก ๋๋์ง ๋ชปํ ๊ฒฝ์ฐ 2์์ ํ๋์ฉ ์ฆ๊ฐ์์ผ์ฃผ๋ฉด์ ๋๋์ด์ง๋์ง ์ฒดํฌํ๋ฉด ๋๋ค. void factorize(int n) { int factor = 2; // ์์ ..
2022.10.25 -
- [BOJ-11653][C++] ์์ธ์๋ถํด
๋ฌธ์ ์ ์ N์ด ์ฃผ์ด์ก์ ๋, ์์ธ์๋ถํดํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ N (1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ N์ ์์ธ์๋ถํด ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ค. N์ด 1์ธ ๊ฒฝ์ฐ ์๋ฌด๊ฒ๋ ์ถ๋ ฅํ์ง ์๋๋ค. ์์ ์ ๋ ฅ 1 72 ์์ ์ถ๋ ฅ 1 2 2 2 3 3 ์์ ์ ๋ ฅ 2 3 ์์ ์ถ๋ ฅ 2 3 ์์ ์ ๋ ฅ 3 6 ์์ ์ถ๋ ฅ 3 2 3 ์์ ์ ๋ ฅ 4 2 ์์ ์ถ๋ ฅ 4 2 ์์ ์ ๋ ฅ 5 9991 ์์ ์ถ๋ ฅ 5 97 103 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ์ ์๋ก ์์ ํ์ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/11653 11653๋ฒ: ์์ธ์๋ถํด ์ฒซ์งธ ์ค์ ์ ์ N (1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ ..
2022.10.25