์†Œ์ˆ˜

    [์นด์นด์˜ค] k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ (java)

    [์นด์นด์˜ค] k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/92335# ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - k์ง„์ˆ˜์—์„œ ์†Œ์ˆ˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ ์„ค๋ช… ์–‘์˜ ์ •์ˆ˜ n์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ด ์ˆซ์ž๋ฅผ k์ง„์ˆ˜๋กœ ๋ฐ”๊ฟจ์„ ๋•Œ, ๋ณ€ํ™˜๋œ ์ˆ˜ ์•ˆ์— ์•„๋ž˜ ์กฐ๊ฑด์— ๋งž๋Š” ์†Œ์ˆ˜(Prime number)๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์•Œ์•„๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. 0P0์ฒ˜๋Ÿผ ์†Œ์ˆ˜ ์–‘์ชฝ์— 0์ด ์žˆ๋Š” ๊ฒฝ์šฐ P0์ฒ˜๋Ÿผ ์†Œ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ์†Œ์ˆ˜, ์žฌ๊ท€ n์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ k์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝํ•œ ํ›„ 0์„ ์˜ค๋ฅธ์ชฝ ๋˜๋Š” ์™ผ์ชฝ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆ˜๋“ค์ด ์†Œ์ˆ˜์ธ์ง€ ํŒ๋‹จํ•˜์—ฌ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด์ฃผ๋Š” ๋ฌธ์ œ์ด๋‹ค. 10์ง„์ˆ˜์ธ n์„ k์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์žฌ๊ท€์™€ ๋‚˜๋ˆ„๊ธฐ ๊ทธ๋ฆฌ๊ณ  %์—ฐ์‚ฐ์„ ํ™œ์šฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. %์—ฐ์‚ฐ์„ ํ•˜์—ฌ ๊ตฌํ•œ m..

    ์ตœ๋Œ€, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ์†Œ์ˆ˜

    ์ตœ๋Œ€, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ์†Œ์ˆ˜

    ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD) ๋‘ ์ˆ˜ a,b์˜ ๊ณตํ†ต๋œ ์•ฝ์ˆ˜์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜ - ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• 1. 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ a,b๋กœ ๊ณตํ†ต๋˜๊ฒŒ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฒƒ์ค‘ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•œ๋‹ค. O(n) -> n์€ a,b์ค‘ ์ตœ์†Œ๊ฐ’ 2. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ // ๋‚˜๋Š” ์ฃผ๋กœ ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŽธ public int gcd(int a, int b){ if(a%b == 0) return b; return gcd(a,a%b); } //๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ• ์ˆ˜๋„ ์žˆ์Œ public int gcd(int a, int b){ int temp; while(true){ if(a%b == 0) return b; temp = a % b; a = b; b = temp; } } ์œ„ ์ฝ”๋“œ๋Š” ์œ ํด๋ฆฌ๋“œ ํ˜ธ์žฌ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณธ ์ฝ”๋“œ์ด๋‹ค. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) - ์ตœ์†Œ..