재귀함수 (python)

juyeon·2022년 6월 30일
0

데이터 다루기

목록 보기
4/35

팩토리얼

1. 재귀함수

1)

n = int(input())

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

print(factorial(n))

2)

n = int(input())

def factorial(n):
    if(n > 1):
        return n * factorial(n - 1)
    else:
        return 1

print(factorial(n))

2. for문

n = int(input())
result = 1

if n == 0:
    print(1)
    
else: 
    for i in range(1, n + 1):
        result *= i
    print(result)

3. while문

n = int(input())
i = 1
result = 1

if n == 0:
	result = 1

while i <= n:
    result *= i
    i += 1
    
print(result)

제곱합

1. 재귀함수

2. for문

n = input()
sum = 0

for i in range(len(n)):
    sum += int(n[i]) ** 5
    
print(sum)

3. while문

피보나치 수열

1. 재귀함수

1) n번째 피보나치 수 출력하기

(1)

n = int(input())

def fibo(n):
    if n == 0: #0번째 피보나치 수 = 0
        return 0
    elif 0 < n < 3:
        return 1
    return fibo(n - 1) + fibo(n - 2)

print(fibo(n))

2. for문

n = int(input())

def fibo(n):
    if n == 0: #0번째 피보나치 수 = 0
        return 0
    elif 0 < n < 3:
        return 1

    a, b = 0, 1
    for i in range(n - 1):
        a, b = b, a + b
    return b
    
print(fibo(n))

: 0번째 피보나치 수를 추가하기 전에는 답이 틀렸었음 ㅠㅠ 아니 왜지?! 10 넣으면 맞는데 거참 허..

정리 중

1. 재귀함수

https://sexy-developer.tistory.com/41
: 재귀함수 정리.. 공부하자 흑흑흑

2. for문

3. while문

1) n번째 피보나치 수 출력하기

2) n번까지 피보나치 수 출력하기

profile
내 인생의 주연

0개의 댓글