알고리즘/문제 풀이
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;
}