728x90
문제 링크 : https://www.acmicpc.net/problem/1978
목차
1 설명
2 내 코드
4 실행 결과
설명
백준 브론즈 2 문제 입니다.
내 코드
int input = Convert.ToInt32(Console.ReadLine());
string[] s = Console.ReadLine().Split(' ');
int[] inputNum = Array.ConvertAll(s, int.Parse);
bool primeNum;
int count = 0;
foreach (var num in inputNum)
{
primeNum = true;
if (num > 1)
{
for (int i = 2; i < num; i++)
{
if (num % i == 0)
{
primeNum = false;
break;
}
}
if (primeNum) count++;
}
}
Console.WriteLine(count);
문제 풀이 해석 내용
입력 처리
int input = Convert.ToInt32(Console.ReadLine());
string[] s = Console.ReadLine().Split(' ');
int[] inputNum = Array.ConvertAll(s, int.Parse); //이야
첫 번째 줄에서 정수 input을 입력받습니다. 이는 입력될 숫자의 개수를 나타내는 것으로 보입니다.
두 번째 줄에서 공백으로 구분된 숫자들을 입력받아 문자열 배열 s로 저장합니다.
Array.ConvertAll(s, int.Parse)를 사용하여 문자열 배열을 정수 배열 inputNum으로 변환합니다.
변수 초기화
bool primeNum;
int count = 0;
primeNum은 현재 숫자가 소수인지 여부를 저장하는 변수입니다.
count는 소수의 개수를 세기 위한 변수로 초기화합니다.
소수 판별
foreach (var num in inputNum)
{
primeNum = true;
if (num > 1)
{
for (int i = 2; i < num; i++)
{
if (num % i == 0)
{
primeNum = false;
break;
}
}
if (primeNum) count++;
}
}
inputNum 배열의 각 숫자에 대해 반복합니다.
num이 1보다 큰 경우에만 소수 판별을 진행합니다.
2부터 num-1까지 반복하며, 만약 num이 i로 나누어 떨어지면 (num % i == 0), primeNum을 false로 설정하고 반복을 중단합니다.
소수로 판별되면 (primeNum이 true인 경우) count를 증가시킵니다.
결과 출력
Console.WriteLine(count);
최종적으로 소수의 개수를 출력합니다.
실행 결과
728x90
'C#' 카테고리의 다른 글
백준 C# 11653 문제 풀이 (0) | 2024.10.16 |
---|---|
백준 C# 2581 문제 풀이 (0) | 2024.10.14 |
백준 C# 9506 문제 풀이 (0) | 2024.10.12 |
백준 C# 2563 문제 풀이 (0) | 2024.10.11 |
백준 C# 2501 문제 풀이 (0) | 2024.10.10 |