[백준 1978] 소수 찾기

alsry._.112·2023년 8월 11일
0

백준

목록 보기
20/102

🔗문제 풀러가기
단계별로 풀어보기 단계 9의 4번째 문제이다.

문제 분석

소수를 어떻게 판별할지만 생각해낼 수 있다면 쉽게 풀 수 있다.

코드

#include <iostream>
using namespace std;

int main()
{
	int inputCnt;
	cin >> inputCnt;

	int cnt = 0;
	
	for (int i = 0; i < inputCnt; i++)
	{
		int input;
		cin >> input;

		bool isprime = true;

		if (input == 1) { continue; }

		for (int j = 1; j < input; j++)
		{
			if (input % j == 0 && j != 1 && j != input)
			{
				isprime = false;
			}
		}

		if (isprime) { cnt++; }
	}

	cout << cnt;
}

해석

  1. 입력받은 inputCnt의 횟수만큼 반복문을 돌려 수를 입력받는다.
  2. 만약 입력받은 수가 1이라면 소수가 아니므로 다음 수를 입력받는다.
  3. 반복문을 돌려 현재 입력받은 수가 소수인지 판별한 후 소수가 아니라면 isprime를 false로 바꾼다.
  4. 만약 isprime이 true라면 소수의 개수를 의미하는 cnt를 ++한다.
  5. 반복문을 모두 반복한 후 얻은 cnt를 출력하면 끝!
profile
소통해요

0개의 댓글