본문 바로가기

분류 전체보기31

피보나치 수열 구하기-파이썬 def fibo2(num): '''루프를 이용한 피보나치 수열''' n1, n2, n3 = None, None, None for i in range(0, num): if i==0: n1=0 print(0, end=', ') elif i==1: n2=1 print(1, end=', ') else: n3 = n1 + n2 print(n3, end=', ') n1 = n2 n2 = n3 print() fibo2(10) def 피보나치(n): #재귀를 이용한 방식 if n 2020. 12. 13.
팩토리얼 구하기-파이썬 def 팩토리얼(x): #루프를 이용한 방식 res=1 for i in range(x, 0, -1): res*=i return res print(팩토리얼(5)) def 팩토리얼(n): #재귀를 이용한 방식 if n==1: return 1 else: print(n,'*팩토리얼(',n-1,')') return n*팩토리얼(n-1) print(팩토리얼(5)) 2020. 12. 13.
이진 탐색(search) 알고리즘 정리-파이썬 n=[1,2,3,4,7,10] #이미 정렬되어 있는 리스트에 대해 동작. #이진 탐색 search_num = int(input('search_num:')) f=0 #f: 리스트 검색 시작위치 l=len(n)-1 #l: 리스트 검색 마지막위치 while fsearch_num: #중간값보다 찾는 값이 작으면 찾는 값이 중간값 앞에 있음 l=m-1 #l를 중간 앞으로 이동 elif n[m]l: #f>l은 위 루프에서 break로 종료되지 않았음을 의미하고 이는 찾는 값이 없음을 의미 print('not found') 재귀적구현. 정렬리스트에서 이진탐색(빠른속도위해)으로 특정범위 수의 갯수구하기: 2020. 12. 13.
정렬(sort) 알고리즘 정리-파이썬 def sel_sort(a): #선택정렬 n = len(a) for i in range(0, n - 1): min_idx = i for j in range(i + 1, n): if a[j] n[j].. 2020. 12. 13.