본문 바로가기

프로그래밍 문제/정올

236 : 함수3 - 형성평가6

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
28
29
30
#include <stdio.h>
 
#pragma warning (disable:4996)
 
int calculate(int total, int num)
{
    if ((num / 10== 0) {                        // 몫이 없다면, 더 구할 수가 없으므로
        return total * num;                    // 곱 연산 시작 - 엔딩 분기
    }
 
    if ((num % 10)) {                        // 나머지가 있다면
        return calculate(total* (num % 10), (num/10));        // 나머지를 곱함, 몫을 전달
    }
    else if ((num % 10== 0) {                    // 나머지가 0이라면 = (자릿수가 0이라면)
        return calculate(total, (num / 10));            // 0을 무시하고 몫을 반환
    }
}
 
int main()
{
    int num1, num2, num3;
    int num;
 
    scanf("%d"&num1);    scanf("%d"&num2);    scanf("%d"&num3);
 
    num = num1 * num2 * num3;
 
    printf("%d\n", calculate(1, num));
    return 0;
}
cs

어우;;; 단순한데 복잡하게 생각했네