๐ ์ค์ต 1 - ์์ฐ์์ ํฉ ๊ตฌํ๊ธฐ(1~n๊น์ง ๋ชจ๋ ์์ฐ์์ ํฉ)

def Sigma(n)
if n<= 1: return n
else: return n+Sigma(n-1)
๐ ์ค์ต 2 - Factorial(1~n๊น์ง ๋ชจ๋ ์์ฐ์์ ๊ณฑ)
def Factorial(n):
if n<=1: return 1
else: return n*Factorial(n-1)
๐ ์ค์ต 3 - Fibonacci ์์ด


Iterative
def Fibonacci_While(x):
if x<=1: return x
Fibo = [0, 1]
i = 2
while n<=x:
Fibo.append(Fibo[i-1]+Fibo[i-2])
i+=1
return Fibo[x]
def Fibonacci_for(x):
if x<=1: return x
Fibo = [0, 1]
for i in range(2, x+1):
Fibo.append(Fibo[i-1]+Fibo[i-2])
return Fobo[x]
Recursive
def Fibonacci_Recursive(x):
if x<=1: return x
else:
num = Fibonacci_Recursive(x-1)+Fibonacci_Recursive(x-2)
return num
๐ ์ค์ต 4 - ์กฐํฉ์ ์
1. Math ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ

from math import factorial as F
def Combination(n, m):
return F(n)/F(m)*F(n-m))

def Combination(n, m):
if n==m or m==0: return 1
else:
return Combination(n-1, m) + Combination(n-1, m-1)
๐ ์ค์ต 5 - ํ๋ ธ์ด์ ํ
def Top_of_Hanoi(n, Start, End, Sup):
if n==1:
print("์๋ฐ์ด 1๊ฐ์
๋๋ค. ",Start,"์์ ", End, "๋ก ์ด๋ํ์ต๋๋ค.")
return
Top_of_Hanoi(n-1, Start, Sup, End)
print("์๋ฐ", n, "์", Start, "์์", End, "๋ก ์ฎ๊น๋๋ค.")
Top_of_Hanoi(n-1, Sup, End, Start)
Top_of_Hanoi(3, 'A', 'C', 'B')
๐ ์ค์ต 6 - ์ฌ๊ท์ ์ด์ง ํ์
def Binary_Search(L, x, lower, upper):
if lower>upper: return -1
mid = (lower+upper)//2
if x==L[mid]: return mid
elif x<L[mid]:
return Binary_Search(L, x, lower, mid-1)
else:
return Binary_Search(L, x, mid+1, upper)