N의 배수를 셌을 때, 모든 숫자를 보게 되는 시점은?
0부터 9까지 저장된 배열로 숫자가 나왔는지 안나왔는지 셀 것이다.
N번 양을 센다고 해서 횟수를 말하는 줄 알았는데 그게 아니라 양 번호를 말하는 거였다.
#include <stdio.h>
int main(void) {
int test_case, T;
scanf("%d", &T);
for (test_case = 1; test_case <= T; ++test_case)
{
int N, tmp, i;
int num[10] = { 0 };
scanf("%d", &N);
for (i = 1; ; i++) {
tmp = N * i;
while (tmp != 0) {
num[tmp % 10] = 1;
tmp /= 10;
}
int flag = 0;
for (int j = 0; j < 10; j++) {
if (num[j] == 1) flag++;
}
if (flag == 10) break;
}
printf("#%d %d", test_case, i*N);
}
return 0;
}
num 배열에 숫자가 나올 때마다 1로 체크하고 배열의 모든 값이 1이 되면 반복문을 빠져나온다.
'SWEA > [D2]' 카테고리의 다른 글
[C언어] SWEA 1984 중간 평균값 구하기 (0) | 2022.03.01 |
---|---|
[C언어] SWEA 1285 아름이의 돌 던지기 (0) | 2022.03.01 |
[C언어] SWEA 1986 지그재그 숫자 (0) | 2022.02.27 |
[C언어] SWEA 1946 간단한 압축 풀기 (0) | 2022.02.26 |
[C언어] SWEA 1976 시각 덧셈 (0) | 2022.02.26 |