728x90
- 1901
1부터 정수 n까지 출력하는 재귀함수를 설계하시오.
num=int(input())
def f(num):
if num!=1:
f(num-1)
print(num)
f(num)
- 1902
정수 n부터 1까지 출력하는 재귀함수를 설계하시오.
num=int(input())
def f(num):
if num==1:
print(num)
else:
print(num)
f(num-1)
f(num)
- 1904
시작수(a)와 마지막 수(b)가 입력되면
a부터 b까지의 모든 홀수를 출력하시오.
a,b=input().split()
a=int(a)
b=int(b)
def odd(a,b):
if a>b:
return 0
elif b%2:
odd(a,b-1)
print(b,end=" ")
elif not b%2:
odd(a,b-1)
odd(a,b)
# 위의 코드와 반대로 a가 증가
a,b=map(int,input().split())
def f(a,b):
if a>b:
return 0
elif a%2:
print(a,end=" ")
f(a+1,b)
elif not a%2:
f(a+1,b)
f(a,b)
=> 입력으로 2, 7일 때 오름차순으로 홀수를 출력해야한다. 재귀호출을 할 때 종료조건을 살펴본다. a를 증가시키든 b를 증가시키든 a가 b보다 커지면 호출이 종료되어야한다. 이후 b를 감소시키면서 재귀호출을 했는데 이는 재귀호출로 들어갔을 때 반대로 나오면서 작은 값부터 출력해야하기 때문이다.
- 1905
정수 n이 입력으로 들어오면 11부터 n까지의 합을 구하시오.
import sys
sys.setrecursionlimit(1000000)
n=int(input())
def f(n):
if n==1:
return 1
return n+f(n-1)
result=f(n)
print(result)
- 1912
팩토리얼(!) 계산
num=int(input())
def factorial(n):
if n==1:
return 1
return n*factorial(n-1)
result=factorial(num)
print(result)
'프로그래밍 > Python' 카테고리의 다른 글
[Codeup 함수 연습] 1548 ~ 1551, 1555 ~ 1559 (0) | 2021.01.18 |
---|---|
[Codeup 2차원배열연습-3] 1476 ~ 1483 (0) | 2021.01.13 |
[Codeup 2차원배열연습-2] 1468 ~ 1475 (0) | 2021.01.13 |
[Codeup 2차원배열연습-1] 1460 ~ 1467 (0) | 2021.01.11 |
[Codeup 기초100제] 1091 ~ 1099 (0) | 2021.01.10 |