4. 1차원 배열 3052번 나머지 c언어
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
코드
#include <stdio.h>
int main(void)
{
int N = 0;
int a[10] = { 0 };
int rst = 0;
for (int i = 0; i < 10; i++) //배열에 나머지값넣기
{
scanf_s("%d", &N);
a[i] = N % 42;
}
for (int j = 0; j < 10; j++)
{
int count = 0;
for (int k = j + 1 ; k < 10; k++)
{
if (a[j] == a[k]) //배열비교해서 중복잇으면 count값쌓기
{
count++;
}
}
if (count == 0) //count안늘어낫으면 rst값쌓기
{
rst++;
}
}
printf("%d", rst);
return 0;
}for문 1 배열에 나머지 값 넣기
for문 2 각 배열마다 비교해서 중복이 있으면 count스택을 쌓음.
중복이 없으면 rst값을 쌓음.
'문제 풀이 > 백준' 카테고리의 다른 글
| 백준 단계별 문제풀이 2941번 (0) | 2023.02.07 |
|---|---|
| 백준 단계별 문제풀이 2908번 (0) | 2023.02.02 |
| 백준 단계별 문제풀이 5597번 (0) | 2022.11.13 |
| 백준 단계별 문제풀이 10818번 (0) | 2022.11.13 |
| 백준 단계별 문제풀이 2562번 (0) | 2022.11.13 |