조건
1. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다.
2. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
1번구현은 쉬웠으나 2번구현은 생각이 쉽사리 나지 않았다.
#include <stdio.h>
int main()
{
//1.
int inp1,inp2,inp3,max=0,inp[10]={0},res[10]={0},num=0,result;
for (int i=0;i<10;i++){
scanf("%d",&inp[i]);
res[i]=inp[i]%42;
}
//2.
for (int i =0; i<10;i++){
int count=0;
for (int j=0;j<i;j++){
if (res[i]==res[j]){
count++;
}
}
if (count==0){
num++;
}
}
printf("%d",num);
}
2번의 로직은 i와 j를 통해 배열에 두 값이 같으면 count를 올린다. count가 0인 경우는 중복되는 숫자가 없다는 것을 뜻함으로 num을 1씩 더한다.