📄문제
10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하세요.
ℹ️ 조건
재귀 함수를 이용하여 출력합니다.
⬇️ 입력
첫 번째 줄에 10진수 N(1<=N<=1,000)이 주어집니다.
11 |
⬆️ 출력
첫 번째 줄에 이진수를 출력하세요.
1011 |
📝 풀이
#include <iostream>
void binary(int n)
{
if (n == 0)
return;
else if (n == 1)
{
printf("%d", 1);
}
else
{
binary(n / 2);
printf("%d", n % 2);
}
}
int main()
{
int N;
scanf_s("%d", &N);
binary(N);
}
- binary 함수를 호출합니다.
- 만약 binary 함수에서 n이 1보다 작다면, 더 이상 재귀로 호출하지 않습니다.
- 1보다 크다면, 2로 나눈 몫을 다시 binary 함수의 매개변수로 넣어 호출합니다.
'algorithms (C++)' 카테고리의 다른 글
[C++] 합이 같은 부분집합 (0) | 2023.10.17 |
---|---|
[C++] 부분집합 (0) | 2023.10.16 |
[C++] 기차 운행 (1) | 2023.10.16 |
[C++] K진수 출력 (0) | 2023.10.16 |
[C++] Ugly Numbers 🔥 (1) | 2023.10.16 |