- 재귀합계
def sum_test():
num = input("수를 입력하세요")
print("입력한 수",num)
print(my_sum(int(num)))
def my_sum(n):
if n == 0:
return 0
return n + my_sum(n-1)
sum_test()
- 재귀사각형(사각형이 계속 그려지는)
import turtle as t
def my_spiral(sp_len):
if sp_len <= 5:
return
t.forward(sp_len)
t.right(90)
my_spiral(sp_len - 5)
t.speed(0)
my_spiral(200)
t.hideturtle()
t.done()
- 팩토리얼
def my_factorial(n):
if n == 0:
return 1
return n * my_factorial(n-1)
def factorial_test():
num = input("팩토리얼 수를 입력하세요")
print("팩토리얼의 수",num)
print(my_factorial(int(num)))
factorial_test()
- 하노이탑
def my_hanoi(n, from_post, to_post, aux_post):
if n==1:
print(from_post, "---->", to_post)
return
my_hanoi(n-1, from_post, aux_post, to_post)
print(from_post,"---->",to_post)
my_hanoi(n-1,aux_post, to_post, from_post)
def hanoi_test():
num = input("원반의 개수를 입력하세요")
print("원반의 개수",num)
my_hanoi(int(num),1,3,2)
hanoi_test()