[EP 078] 동전 나누기
문제 78 : p(n)을 n개의 동전을 무더기로 나누는 경우의 수라고 하자. 예를 들어서, 5개의 동전이 있다면, 다음과 같이 7가지 방법이 있어서, p(5) = 7이 된다. ooooo oooo o ooo oo ooo o o oo oo o oo o o o o o o o o 해법 : Q(n, m) 을 n개의 동전을 나눌 때 가장 큰 무더기를 이루는 갯수가 m개인 경우의 수라고 한다. 위 예에서 보면, Q(5,5) = 1 Q(5,4) = 1 Q(5,3) = 2 Q(5,2) = 2 Q(5,1) = 1 이 되는 것을 알 수 있다. 이렇게 정의한 Q(n, m)에서 다음과 같은 식이 항상 성립함을 알 수 있다. Q(n, n) = 1 Q(n, 1) = 1 m Q(n, m) = sum Q(n-m, i) i = 1 마지..
[Python|초보] 난수행렬 만들기
n 을 입력받아 0~99 의 난수로 이루어진 n x n 행렬을 반환하기 >>> import numpy as np >>> >>> np.random.randint(0, 100, size=(3, 3)) array([[32, 65, 6], [35, 66, 43], [89, 14, 90]]) >>> np.random.randint(0, 100, size=(2, 2)) array([[87, 7], [22, 97]]) >>> n = int(input()) 4 >>> mat = np.random.randint(0, 100, size=(n, n)) >>> mat array([[53, 62, 9, 84], [62, 22, 75, 72], [86, 68, 43, 14], [97, 59, 20, 84]])