문제
주어진 수 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;
}
}
'C# > Baekjoon' 카테고리의 다른 글
백준 11653 : 소인수분해 (0) | 2022.03.30 |
---|---|
백준 2581 : 소수 (0) | 2022.03.29 |
백준 10757 : 큰 수 A+B (0) | 2022.03.25 |
백준 2839 : 설탕 배달 (0) | 2022.03.24 |
백준 2775 : 부녀회장이 될테야 (0) | 2022.03.22 |