Skip to content

Latest commit

ย 

History

History
44 lines (33 loc) ยท 1.52 KB

File metadata and controls

44 lines (33 loc) ยท 1.52 KB

์žฌ๊ท€

ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด

ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์€ ํ˜„์žฌ์˜ ์ˆ˜๊ฐ€ ์ด์ „ ๋‘ ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด๋‹ค. ์ด ์ˆ˜์—ด์—์„œ n๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด, n-1๋ฒˆ์งธ์™€ n-2๋ฒˆ์งธ ์ˆ˜๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ํ•ฉ์‚ฐํ•œ๋‹ค.

function FIBONACCI(n):
  if n์ด 0์ด๊ฑฐ๋‚˜ 1์ด๋ฉด:
    return n
  else:
    return FIBONACCI(n-1) + FIBONACCI(n-2)

ํ•˜๋…ธ์ด์˜ ํƒ‘

ํ•˜๋…ธ์ด์˜ ํƒ‘์€ n๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ํ•œ ๊ธฐ๋‘ฅ์—์„œ ๋‹ค๋ฅธ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์žฌ๊ท€์ ์œผ๋กœ, n-1๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ๋ณด์กฐ๊ธฐ๋‘ฅ์œผ๋กœ ์ด๋™์‹œํ‚ค๊ณ , ๊ฐ€์žฅ ํฐ ๋””์Šคํฌ๋ฅผ ๋ชฉํ‘œ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊ธด ํ›„, ๋ณด์กฐ ๊ธฐ๋‘ฅ์— ์žˆ๋Š” n-1๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ๋‹ค์‹œ ๋ชฉํ‘œ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค.

fuction HANOI(n, ์‹œ์ž‘๊ธฐ๋‘ฅ, ๋ชฉํ‘œ๊ธฐ๋‘ฅ, ๋ณด์กฐ๊ธฐ๋‘ฅ):
  if n์ด 1์ด๋ฉด:
    output "๋””์Šคํฌ 1์„ ์‹œ์ž‘๊ธฐ๋‘ฅ์—์„œ ๋ชฉํ‘œ๊ธฐ๋‘ฅ์œผ๋กœ ์ด๋™"
    return
  HANOI(n-1, ์‹œ์ž‘๊ธฐ๋‘ฅ, ๋ณด์กฐ๊ธฐ๋‘ฅ, ๋ชฉํ‘œ๊ธฐ๋‘ฅ)
  output "๋””์Šคํฌ n์„ ์‹œ์ž‘๊ธฐ๋‘ฅ์—์„œ ๋ชฉํ‘œ๊ธฐ๋‘ฅ์œผ๋กœ ์ด๋™"
  HANOI(n-1, ๋ณด์กฐ๊ธฐ๋‘ฅ, ๋ชฉํ‘œ๊ธฐ๋‘ฅ, ์‹œ์ž‘๊ธฐ๋‘ฅ)

์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ์ฐพ๋Š”๋‹ค. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋Š” ๋‘ ์ˆ˜์˜ ๊ณฑ์„ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๊ฐ’์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

function GCD(a,b):
  if b๊ฐ€ 0์ด๋ผ๋ฉด:
    return a
  else:
    return GCD(b, a % b)

function LCM(a, b):
  return (a * b) / GCD(a, b)

์ฒ˜์Œ์œผ๋กœ