알고리즘/문제 풀이

2577번: 숫자의 개수

Themion 2021. 12. 17. 10:47

https://www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.

www.acmicpc.net

세 수 A, B, C를 입력받아 그 곱의 각 자리의 수가 나온 횟수를 출력한다

#include <cstdio>

int main() {
    // A, B, C: 입력받을 세 수, mul: 세 수의 곱
    // ans[i] : mul의 각 자리에 i가 등장한 횟수
    int A, B, C, mul, ans[10] = { 0, };
    scanf("%d %d %d", &A, &B, &C);
    mul = A * B * C;

    // mul의 1의 자리 수를 판별하여 해당 수가 나온 횟수를 1 늘린 뒤
    // mul을 10으로 나누어 다시 mul의 1의 자리 수를 판별한다
    while (mul) {
        ans[mul % 10] += 1;
        mul /= 10;
    }

    // A, B, C 세 수의 곱에 0부터 9까지의 숫자가 얼마나 쓰였는지 출력
    for (int i = 0; i < 10; i++) printf("%d\n", ans[i]);

    return 0;
}

'알고리즘 > 문제 풀이' 카테고리의 다른 글

2580번: 스도쿠  (0) 2021.12.17
2579번: 계단 오르기  (0) 2021.12.17
2562번: 최댓값  (0) 2021.12.17
2558번: A+B - 2  (0) 2021.12.17
2557번: Hello World  (0) 2021.12.17