GCD(์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜), LCM(์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜) ๊ตฌํ•˜๊ธฐ
Computer Science/์•Œ๊ณ ๋ฆฌ์ฆ˜ 2021. 11. 2. 22:19

์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, gcd(a,b)์™€ (r=a%b๋ผ๊ณ  ํ•  ๋•Œ), gcd(b,r)์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” ๊ฐ™๋‹ค. ์ฆ‰, gcd(a,b) == gcd(b,r)์ด๋‹ค. ์ด ์„ฑ์งˆ์— ๋”ฐ๋ผ gcd(a,b) == gcd(b, a%b) == gcd(a%b, (a%b)%b).... ๋ฐ˜๋ณตํ•˜์—ฌ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜์—ˆ์„ ๋•Œ ๋‚˜๋‰˜์–ด์ง€๋Š” ์ˆ˜๊ฐ€ a์™€ b์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด gcd(a,b) -> cdg(a, a%b) .... -> gcd(x, 0)์ด๋ฉด a์™€ b์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” x์ด๋‹ค. ๊ตฌํ˜„ private static int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•..