๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿงฌ Biology/๋ฐ”์ด์˜ค ์ฝ”๋”ฉ ๋ฌธ์ œ

[ROSALIND] ๋ถ€๋ถ„์  ์ˆœ์—ด

by HelloRabbit 2023. 6. 15.
728x90

๋ฌธ์ œ ์„ค๋ช…

๋น„์Šทํ•œ ์ข…์€ ๊ณตํ†ต์ ์œผ๋กœ ๊ฐ€์ง„ ์œ ์ „์ž๋“ค๋„ ๋งŽ๋‹ค. ํ•˜์ง€๋งŒ ์ง„ํ™”ํ•˜๋ฉด์„œ ์œ ์ „์ž๋“ค์˜ ์ˆœ์„œ๋“ค์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ณ  ์ผ๋ถ€ ์œ ์ „์ž๋Š” ์—†์–ด์งˆ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ „์ž๋“ค์˜ ์ˆœ์„œ๋ฅผ ํ™•์ธํ•˜๋ฉด ์œ ์ „์ž ์žฌ๋ฐฐ์—ด์ด ์–ด๋–ป๊ฒŒ ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.


๋ฌธ์ œ (ํ’€์–ด๋ณด๊ธฐ)

๋ถ€๋ถ„์  ์ˆœ์—ด์ด๋ž€ ์ „์ฒด n๊ฐœ์—์„œ k๊ฐœ๋งŒ ๋ฝ‘์€ ํ›„ ๋ชจ๋“  ๋ฐฐ์—ด ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ, n๊ณผ k๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ ์ˆœ์„œ์˜ ๊ฐœ์ˆ˜์—์„œ 1,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

์˜ˆ์‹œ

21 7

์˜ˆ์ƒ ๊ฒฐ๊ณผ

51200

 

ํ•ด๊ฒฐ

def factorial(n):
    ans = 1
    while n > 1:
        ans *= n
        n -= 1
    
    return ans

with open('rosalind_pper.txt', 'r') as f:
    n, k = map(int, f.readlines()[0].strip().split(' '))
print(int(factorial(n) / factorial(n-k) % 1000000))

 

 

 

๋Œ“๊ธ€