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 |