미니는 밍기적
[Python] 백준_재귀함수 본문
재귀 - 10870번 - 피보나치 수열
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다.
그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. -> Fn = Fn-1 + Fn-2 (n ≥ 2)
n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.
def f(n):
if n == 0 or n == 1:
return n
else:
return f(n-1) + f(n-2)
n = int(input())
print(f(n))
재귀 - 10872번 - 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
def p(n):
if n == 0:
return 1
else:
return n * p(n-1) #10*9*8*7*6*5*4*3*2*1
n = int(input())
print(p(n))
*******for문으로 풀어보면*******
n = int(input())
result = 1 #1부터 시작할 것임
for i in range(1, n+1): #n=10이면 (1,11) -> 즉 1~10까지를 나타내는, 10번 반복하는 함수
result *= i # result = result*i -> result = 1*2*3*4*5*6*7*8*9*10
print(result)
'Python > PythonProgramming' 카테고리의 다른 글
[Python] 정렬, split, slicing, striding (0) | 2022.10.23 |
---|---|
[Python] len() / .sort() / .index() (0) | 2022.10.23 |
[Python] for i in range 구문 / for, while 차이 (0) | 2022.10.23 |
[Python] dictionary 자료구조 - key&value (0) | 2022.10.22 |