728x90
▶문제 : (재귀 함수) 2진수 변환 (codeup.kr)
▶코드 작성
#include <stdio.h>
void func(int n)
{
if (n > 1)// 1,0 은 2로 나눌 필요가 없음
{
func(n / 2);//2로 나눈 몫으로 2진수를 구함
}
printf("%d", n % 2);//2로 나눈 나머지 출력
}
int main()
{
int n;
scanf("%d", &n);
func(n);
return 0;
}
▶해석
입력한 수(n)를 2로 나눈 나머지는 2진수의 맨 끝자리 수이기 때문에 if문 다음에 printf를 사용함.
2진수는 주어 진수(n)를 1 이하의 수가 될 때까지 2로 나눈 다음 그 몫을 2로 나눈 나머지로 구할 수 있음.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 2411 : SNS만들기 (1) C언어 (0) | 2021.11.27 |
---|---|
코드업(codeup) 2024 : 숫자를 한글로 변환 C언어 (0) | 2021.11.27 |
코드업(codeup) 2633 : Lower Bound C언어 (0) | 2021.11.16 |
코드업(codeup) 1173 : 30분전 C언어 (0) | 2021.11.16 |
코드업(codeup) 3321 : 최고의 피자 C언어 (0) | 2021.11.16 |
댓글