The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
Korean: http://euler.synap.co.kr/prob_detail.php?id=3
English: https://projecteuler.net/problem=3
- Tool: Visual Studio Community 2017
- Language: Visual Basic .NET
- Framework: .NET Core 2.0
- Visual Studio Project: .NET Core Console App
Change directory git root: /Problem3 and compile
dotnet buildRun
dotnet run- Open visual studio solution file "Problem3.sln" by Visual Studio Community 2017
- Check out install packages - .NET Core 2.0 and Visual Basic Environment
- Press F5 to debug start
- Prime number ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ํํ๋ค.
- ์ ์๊ฐํด ๋ณด๋ฉด ์ค์ ๋ก prime factor๋ฅผ ๊ตฌํด์ ๋๋ ๊ฐ๋ฉด์ ๊ตฌํ๋๊ฒ ๋ต์ธ ๊ฒ ๊ฐ๋ค.
- ์ฒ์์๋ ์ฃผ์ด์ง ์ซ์๋ณด๋ค ์์ prime number๋ฅผ ์ฐจ๋ก๋ก ๊ตฌํ๋ฉด ๋ ๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ, ๊ทธ๋ ๊ฒ ํ๋ฉด ์๊ฐ๋ณด๋ค ํจ์ฌ ๋ง์ prime number๋ฅผ ๊ตฌํ๋ฉด์ factor๋ฅผ ์ฐพ์์ผ ํ๋ค.
- ๊ทธ๋์ ๋ค์ ์ ๊ณต๋ฒ์ผ๋ก ๊ตฌํด๋ณด๋ ๊ฑธ๋ก ๋ฐ๊ฟจ๋๋ฐ ๊ทธ ์ด์ ๋ factor๋ก ๋๋์ ์ ํ๋ ๊ณผ์ ์์ ๋๊น์ง ๊ตฌํด์ผ ํ๋ prime number์ factor์ ๋ฒ์๋ n/factor๋ก ๋์ฑ ์์์ง๋ฏ๋ก ๊ฒฐ๊ตญ ๋ค์์ ์ฐพ๋ ๊ฒ ๋ณด๋ค ๋ ๋นจ๋ฆฌ ์ฐพ์ ์ ์๋ค.
- ์๊ฐ ๋ณต์ก๋ ์ญ์ (์ฌ์ค์) O(n)์ผ๋ก ๊ฒฐ์ ๋ ์ ์๋ค. (์๋ ๋ณต์ก๋๋ O(sqrt(n))์ด๋ค.) n๋ณด๋ค ์์ factor๋ฅผ ์ฐพ์๋ธ๋ค๋ฉด n์ ๊ธ๊ฒฉํ ์ค์ด๋ค์ง๋ง ์ต์ ์ ๊ฒฝ์ฐ์ factor๋ ์๊ธฐ ์์ ์ธ n์ผ ์ ์์ผ๋ฏ๋ก ๊ฒฐ๊ตญ factor๋ฅผ ์ฐพ์๋ด๋ ๊ณผ์ ์ ์ต๋ n์ด๋ค.
- ์ด ๋ฌธ์ ์์ ์ฌ์ฉํ๋ VB.NET ๋ง์ ํน์ง์ ์๋ค.
- ์ด์ฐจํผ ๋ฌธ๋ฒ์ VB.NET ์ด์ง๋ง .NET Core๋ฅผ ์ฌ์ฉํ๋ฏ๋ก namespace๊ฐ ๊ฐ๋ค. ๋ฐ๋ผ์ C#์์ ํ๋ ์ง์ด ๊ฑฐ์ ๋๋ค๋ ๋๋์ผ๋ก ํ๋ฉด ๋ค์ด๋ง๋๋ค.
- ๋ํ์ ์ธ ์๊ฐ Math.Sqrt() ์ฌ์ฉํ ๋.