코테 직전에 보려고 만들어놓은 게시글
외워서 시간을 아끼도록 하자.
•진수변환 함수
def convert(n,base):
arr="0123456789ABCDEF"
q,r=divmod(n,base)
if q==0:
return(arr[r])
else:
return convert(q,base) + arr[r]
•소수판별 함수
to be updated…
순열,
•조합
def combination(arr, n):
result = []
if n == 0:
return [[]]
for i in range(len(arr)):
c = arr[i]
for j in combination(arr[i + 1:], n - 1):
result.append([c] + j)
return result
입출력 예시
arr=[1,2,3,4,5]
n=3
[[1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 4, 5], [2, 3, 4], [2, 3, 5], [2, 4, 5], [3, 4, 5]]
원리: combination([0,1,2,3], 2) = ([0],combination([1,2,3], 1)) + ([1],combination([2,3], 1)) + ([2],combination([3], 1)))
최대공약수,최소공배수
자주 업데이트 해주세요 😁