🔻Extracurricular Activity/컴프1(Python) 튜터링 자료
[7주차] 최댓값 최솟값 찾기, 최대공약수 최소공배수, 팩토리얼
_니지
2022. 5. 26. 20:52
❗최댓값 최솟값 찾기
리스트에서 최댓값, 최솟값을 찾기 위해서 min( ), max( )함수를 쓸 수도 있지만 구현할 수도 있음
1. 동작 원리
최댓값은 0으로 최솟값은 큰 수로 임의로 설정 후 for문으로 원소 하나하나와 비교해준다
maxVal = 0
minVal = 100
for n in num:
if n > maxVal:
maxVal = n
for n in num:
if n < minVal:
minVal = n
❗최대공약수 최소공배수
1. 최대공약수와 최소공배수
GCD란? Greatest Common Divisor: 최대공약수
두 자연수의 공통된 약수 중 가장 큰 수
LCM이란? Least Common Multiple: 최소공배수
두 자연수의 공통된 배수 중 가장 작은 수 -> 최대공약수를 통해 구할 수 있음
2. 동작 원리
-GCD
a을 b으로 나눈 나머지를 a%b이라고 하면, a과 b의 최대공약수는 b과 a%b의 최대공약수와 같은 것을 이용
-LCM
두 수의 곱을 두 수의 최대공약수로 나누어주면 최소공배수를 알 수 있음
def gcd(a, b):
while b > 0:
a, b = b, a % b
return a
def lcm(a, b):
return a * b / gcd(a, b)
❗팩토리얼
1. 팩토리얼
1부터 N까지 차례대로 곱하는 것 -> N!
이때 0!도 1로 나온다!
ex) 4! = 4*3*2*1 = 24
2. 동작 원리
#재귀함수
def factorial1(n):
if n==0 or n==1:
return 1
return n * factorial1(n-1)
#for문
def factorial2(n):
res = 1
for i in range(1, n+1):
res *= i
return res
728x90
반응형