백준(C언어) 풀이/수학

백준(C) 1978번 소수 찾기 풀이

개발윗미 2021. 8. 31. 14:00

C로 구현한 1978번 소수 찾기 문제 풀이입니다.

 

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net


#include <stdio.h>

int main() {
	int n, input, count=0;
	scanf("%d", &n);
	for(int i=0; i<n; i++) {
		scanf("%d", &input);
		int check = 0;
		if(input == 1)
			continue;
		for(int j=2; j<input; j++) {
			if(input%j == 0)
				check = 1;
		}
		if(check == 0)
			count ++;
	}
	printf("%d", count);
}

 

우선 수의 개수 n을 입력받은 후 n개만큼의 수를 입력받는다.

 

기본적으로 소수는 1을 제외한 값이기 때문에 만약 입력받은 값이 1이라면 다른 처리없이 넘어가주도록 한다.

 

1이 아닌 경우 반복문을 통해 해당 값에 대한 약수가 존재하는지 확인한다.

 

만약 약수가 존재한다면 변수 check를 1로 갱신한다. 내부 반복문 처리가 끝나면 check 값을 확인하여 

 

check값이 0이라면 약수가 존재하지 않기 때문에 변수 count를 1 증가시킨다.

 

위와 같은 과정을 입력받은 수에 대하여 각각 반복하여 수행하고 최종적으로 변수 count를 출력한다.