728x90

 

소수를 구하는 방법에는 여러가지가 있지만 저는 가장 기본적인 방식으로 풀어봤습니다.

#include <iostream>
using namespace std;

int main()
{
	int n;
	cin >> n;
	for (int i = 1; i < n; ++i)
	{
		if (n % i == 0 && i != 1)
		{
			cout << "not prime" << "\n";
			break;
		}
		else if ((n % i != 0 && n - 1 == i) || n == 2)
		{
			cout << "prime" << "\n";
			break;
		}
	}
	return 0;
}

 

for 문을 돌면서  입력받은 값n을 i로 나눴을때 0이거나 i가 1이 아닐경우 소수가 아니다

라고 판단하고 for문을 탈출하고

입력받은 값n을 i로 나눴을때 0이 아니거나 현재 나눈i값이 입력 받은n값의 -1 과 동일 하고

정수 2는 소수 이기때문에  prime 을 출력하고 for문을 탈출합니다.

728x90

'Algorithm > codeup' 카테고리의 다른 글

c++ 1276 : 팩토리얼 계산  (0) 2020.11.07
c++ 1275 : k 제곱 구하기  (0) 2020.11.07
c++ 1273 : 약수 구하기  (0) 2020.11.04
C++ 1272 : 기부  (0) 2020.11.03
c++ 1271 : 최대값 구하기  (0) 2020.11.03