재귀함수를 이용한 이진수 출력
10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하세요. 단 재귀함수를 이용
해서 출력해야 합니다.
▣ 입력설명
첫 번째 줄에 10진수 N(1<=N<=1,000)이 주어집니다.
▣ 출력설명
첫 번째 줄에 이진수를 출력하세요.
▣ 입력예제 1
11
▣ 출력예제 1
1011
문제풀이
#재귀함수와 스텍
import sys
sys.stdin=open("input.txt", "r")
def DFS(x):
if x==0:
return
else:
res = x // 2
residue = x % 2
DFS(res)
print(residue, end="")
if __name__== "__main__": #스크립트실행시 가장 먼저 실행
n =int(input())
DFS(n)
Hint
DFS가 스택프레임을 쌓아가면서 자기자신을 호출하였다가 맨 위에부터 호출 되었던 함수가 종료될때마다 아랫줄의 코드가 실행되면서 이진수가 출력된다.
'파이썬 알고리즘 > 완전탐색과 DFS기초' 카테고리의 다른 글
5. 바둑이 승차 - Cut Edge Tech (0) | 2022.11.07 |
---|---|
4.합이 같은 부분집합 (0) | 2022.11.06 |
3.부분집합 구하기(DFS) (0) | 2022.11.06 |
2. 이진탐색트리 순회 (0) | 2022.11.06 |
[선수지식] 재귀함수와 스택(Stack) (0) | 2022.11.06 |