경기도미래기술학교 AI개발자 부트캠프 60일차 TIL- 알고리즘 공부. 딕셔너리를 잘 몰랐다. 재귀 함수. 유클리드 호제법.
2023. 8. 1. 20:14ㆍpython
반응형
def factorial(n: int) -> int:
if n==0:
return 1
elif n > 0:
return n * factorial(n-1)
n = int(input('정수 입력: '))
factorial(n)
팩토리얼 문제. 수강생분이 짜주신거다.
factorial 함수를 만들어서 n이 0이 되면 return은 1로 하고, 그렇지 않을 경우에는 n * n-1을 계속 하는 방식이다.
자기 자신을 계속 호출하면서 가져온 파라미터는 1씩 작아지는 것인데, 최종적으로는 밑에 return n* factorial(n-1)이 최종적으로 return 되는 값이 되는 것이고 그 때 까지는 이 메서드가 계속 연산이 진행되며 반환되는 것이다.
이렇게 하면 마지막은 1을 곱한것이니까 사실상 값은 안바뀌고 마무리가 될 것이다.
유클리드 호제법.
a, b = 40, 60
#큰 수가 왼쪽으로 간다.
if(b>a) : a,b = b,a
#작은 수가 0이 아닐 때 까지 반복.
while(b!=0):
a=a%b
print(a)
a,b=b,a
print(a)
딕셔너리가 좀 낯설어서 좀 어색하고 리스트 컴프리헨션도 좀 어색하고.. 공부를 좀 더 해야겠는 부분.
오늘은 이정도만 알면 성공이지 않을까 싶네..
728x90
'python' 카테고리의 다른 글
경기도미래기술학교 AI개발자 부트캠프 61일차 TIL- Linked list의 개념. (0) | 2023.08.02 |
---|---|
파이썬 def 메서드 정의할 때 ->가 헷갈림. 브루트 포스로 인덱스 반환 계산하기. (0) | 2023.08.02 |
파이썬에서 yaml. 디비 정보 등 개인정보 보호하기. (0) | 2023.07.24 |
경기도미래기술학교 AI개발자 부트캠프 52일차 TIL- 머신러닝 공부 계속. randomforestclassifier 등 (0) | 2023.07.19 |
몽고디비와 파이썬이 SSL 문제로 연결이 안될 때. import certifi (0) | 2023.07.19 |