모든 문제의 답은 Python3으로 작성함

 

10872번: 팩토리얼

def fac(n):
    if n==0 or n ==1:
        return 1
    else:
        return n*fac(n-1)

n = int(input())
print(fac(n))

 

10870번: 피보나치 수 5

 

def fib(n):
    if n==0:
        return 0
    if n==1 or n==2:
        return 1
    else:
        return fib(n-2)+fib(n-1)

n = int(input())
print(fib(n))

 

2447번: 별 찍기 - 10

def star(n):
    if n==3:
        return ["***","* *","***"]
    else:
        old = star(n//3)
        new = []
        for j in range(n):
            new.append('')
            
        for a in range(n//3):
            new[a]=old[a]*3
            new[n-a-1]=old[a]*3
            
        for b in range(n//3, n//3*2):
            new[b]=old[b-n//3] + ' '*(n//3) + old[b-n//3]
            
        return new
        

n = int(input())
star = star(n)
for i in range(n):
    print(star[i])

 

11729번: 하노이 탑 이동 순서

def hanoi(n, f, tmp, to):
    if n==1:
        print(f, to)
    else:
        hanoi(n-1, f, to, tmp)
        print(f, to)
        hanoi(n-1, tmp, f, to)

n = int(input())
print(pow(2,n)-1)
hanoi(n, 1, 2, 3)

 

+ Recent posts