fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // 소수 판별 함수 (에라토스테네스의 체 방식 X, 일반적인 방식)
  5. bool isPrime(int num) {
  6. if (num < 2) return false; // 2 미만의 숫자는 소수가 아님
  7. if (num == 2) return true; // 2는 유일한 짝수 소수
  8. if (num % 2 == 0) return false; // 짝수는 소수가 아님 (2 제외)
  9.  
  10. // 3부터 √num까지 홀수만 검사 (최적화)
  11. for (int i = 3; i * i <= num; i += 2) {
  12. if (num % i == 0) return false;
  13. }
  14.  
  15. return true;
  16. }
  17.  
  18. int main() {
  19. int N;
  20. cin >> N;
  21.  
  22. if (isPrime(N))
  23. cout << "YES" << endl;
  24. else
  25. cout << "NO" << endl;
  26.  
  27. return 0;
  28. }
Success #stdin #stdout 0s 5288KB
stdin
32
stdout
NO