본문 바로가기
C

C언어] 재귀 - A 부터 B 사이의 홀수 출력.

by stdlib.h 2016. 3. 29.

이문제는 입력한 A 부터 B 사이의 홀수를 모두 출력하는 문제이다.

이를 코드로 구현하면 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
 
void print(int a, int b);
 
int main(void)
{
    int a, b;
    scanf("%d %d", &a, &b);
    print(a, b);
}
void print(int a, int b)
{
    if (a > b)
        return;
    else
    {
        if (a%2==0)
        {
            print(a + 1, b);
        }
        else
        {
            printf("%d ", a);
            print(a + 2, b);
        }
    }
}
cs

먼저, A 와 B를 입력받아 함수의 인자로 보낸다.

이때  A를 1씩 증가시키는데, 만약 홀수면 2를 증가시켜 그대로 홀수로, 짝수면 1를 증가시켜 홀수로 만든다.

a > b 일때 두수사이가 아니므로 종료한다.

'C' 카테고리의 다른 글

C언어]재귀 - 피보나치 수열  (0) 2016.03.29
C언어] 1부터 N까지의 합  (0) 2016.03.29
C언어]재귀 - N부터 1까지 출력  (0) 2016.03.29
C언어] 재귀 - 1부터 N 까지 출력  (0) 2016.03.29
[C언어]재귀 - 삼각형 출력  (0) 2016.03.29