BAEKJOON/단계별로 풀어보기

[BOJ] 3052번 : 나머지

말하는 알감자 2022. 7. 26. 14:28

🔒 문제

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

⌨ 입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

🖨 출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

📚 예제

Ex1)

1
2
3
4
5
6
7
8
9
10

10

Ex2)

42
84
252
420
840
126
42
84
420
126

1

Ex3)

39
40
41
42
43
44
82
83
84
85

6

🔑 c언어 코드

#include<stdio.h>

int main()
{
    int n[42] = { 0, };// 0~41까지 나머지 중 출력된 나머지 값 표시 
    int x = 0; // 서로 다른 나머지 갯수 
    int A; // 값 대입

    for (int i = 0; i < 10; i++)
    {
        scanf("%d", &A);
        for (int j = 0; j < 42; j++)
        {
            if ((j == A % 42) && (n[j] == 0)) // 새로운 나머지값일 경우에만 카운팅
            {
                n[j] = 1; // 나머지 값 j 나왔음을 표시
                x++;
                break;
            }
        }
    }

    printf("%d", x);
    return 0;
}

'BAEKJOON > 단계별로 풀어보기' 카테고리의 다른 글

[BOJ] 8958번 : OX 퀴즈  (0) 2022.08.01
[BOJ] 1546번 : 평균  (0) 2022.07.26
[BOJ] 2577번 : 숫자의 개수  (0) 2022.07.26
[BOJ] 2562번 : 최댓값  (0) 2022.07.25
[BOJ] 10818 : 최소, 최대  (0) 2022.07.25