C#/Baekjoon

백준 1978 : 소수 찾기

RIsN 2022. 3. 28. 22:20

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.


입력

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


출력

주어진 수들 중 소수의 개수를 출력한다.


코드

using System;
					
public class Program
{
	public static void Main()
	{
		// :: 입력 : 첫번째 버리기
		Console.ReadLine();
		
		// :: 입력 : 두번째 나누기
		string[] nums = Console.ReadLine().Split(' ');
		
		// :: 나눈 녀석들 소수 확인
		int count = 0;
		foreach(string numRaw in nums) {
			int num = int.Parse(numRaw);
			if(num > 1 && IsPrime(num)) count += 1;
		}
		
		// :: 출력
		Console.WriteLine(count);
	}
	
	// :: 소수 구하기
	public static bool IsPrime(int num) {
    	// :: 2분의 1의 숫자까지 나눠지는 게 있는 지 확인
		for(int index = 2; index <= num / 2; index++) {
			if(num % index == 0)
				return false;
		}
		return true;
	}
}