KT Số nguyên tố

View as PDF



Author:
Problem types
Points: 900 (p) Time limit: 1.0s Memory limit: 1023M Input: stdin Output: stdout

Trong ngày thực tập đầu tiên, thầy Hải có một câu đố nho nhỏ cho các học sinh của mình. Cho một số nguyên \(n\), hãy kiểm tra \(n\) có phải là số nguyên tố hay không?

Số nguyên tố là số tự nhiên lớn hơn 1 chỉ có hai ước số dương phân biệt là 1 và chính nó.

Input:

  • Gồm một dòng duy nhất là số nguyên \(n (|n| \le 10^{12})\)

Output:

  • In ra YES nếu \(n\) là số nguyên tố. Ngược lại in ra NO.

Example

Test 1

Input
9
Output
NO

Test 1

Input
7
Output
YES

Comments


  • 0
    foxdz    4:06 p.m. 24 sep, 2024

    a = int(input())
    if a % 2 != 0 and a % 5 != 0 and a % 3 != 0 and a != 1 and a != 0 and a > 0:
    print("YES")
    elif a == 2 or a == 3 or a == 5 and a != 1 and a != 0 and a > 0:
    print("YES")
    else:
    print("NO")


    • 0
      nguyen_huykhanh220212    10:39 p.m. 22 sep, 2024

      import sys
      import math

      def is_prime(n):
      if n <= 1:
      return False
      if n == 2:
      return True
      if n % 2 == 0:
      return False
      for i in range(3, int(math.sqrt(n)) + 1, 2):
      if n % i == 0:
      return False
      return True

      Đọc số nguyên từ đầu vào

      n = int(sys.stdin.read().strip())

      Kiểm tra và in kết quả

      if is_prime(n):
      print("YES")
      else:
      print("NO")
      này mình xem kĩ lắm rồi đúng


      • 0
        Đăng_Khoa    4:34 p.m. 21 sep, 2024

        def sntOK(x):
        dem = 0
        if x < 2:
        return False
        for i in range(1, int(n**0.5) + 1):
        if x % i == 0:
        dem += 2
        if i == x//i:
        dem -= 1
        if dem == 2:
        return True
        else:
        return False
        n = int(input())
        if sntOK(n) == True:
        print("YES")
        else:
        print("NO")


        • -1
          Kuze    5:45 p.m. 3 sep, 2024

          n=int(input())
          if n < 1:
          print("NO")
          elif n == 1:
          print("NO")
          else:
          for i in range(1,n//2+1):
          if n%i==0:
          print("NO")
          break
          else:
          print("YES")

          em làm sai ở đâu ạ?


          • -9
            baon27793    1:55 p.m. 1 aug, 2024

            This comment is hidden due to too much negative feedback. Click here to view it.

            2 replies

            • 0
              nguyenanhkiet123    8:58 a.m. 22 jul, 2024

              code python:
              import math
              n=int(input())
              a=1
              b=n%10
              if (n>1):
              if(b%2==0):
              print("NO")
              else:
              for i in range(3,int(math.sqrt(n)),2):
              if (n%i==0):
              a+=1
              if(a==1):
              print("YES")
              else:
              print("NO")

              else:
              print("NO")


              • 0
                hieuminh0157    3:11 p.m. 19 jun, 2024

                include <iostream>

                include <cmath>

                using namespace std;

                int main()
                {
                int Ok, n;
                cin >> n;
                Ok = 1;
                for (int i = 2; i <= sqrt(n); i++)
                {
                if (n%i==0) Ok = 0;
                }
                if (Ok==1) cout << "YES";
                else cout << "NO";
                }


                • 0
                  hieuminh0157    2:14 p.m. 19 jun, 2024

                  include <iostream>

                  include <cmath>

                  bool isPrime(long long n) {
                  if (n <= 1) return false;
                  if (n <= 3) return true;
                  if (n % 2 == 0 || n % 3 == 0) return false;
                  for (long long i = 5; i * i <= n; i += 6) {
                  if (n % i == 0 || n % (i + 2) == 0)
                  return false;
                  }
                  return true;
                  }

                  int main() {
                  long long n;
                  std::cin >> n;
                  std::cout << (isPrime(n) ? "YES" : "NO");
                  return 0;
                  }


                  • 0
                    Avocadorable    8:13 p.m. 21 may, 2024
                    from math import sqrt 
                    def isPrime(n): 
                    
                        if (n <= 1): 
                            return False
                    
                        for i in range(2, int(sqrt(n))+1): 
                            if (n % i == 0): 
                                return False
                    
                        return True
                    
                    n = int(input())
                    if isPrime(n):
                        print("YES")
                    else:
                        print("NO")
                    

                    • 0
                      pa_ldk    8:11 a.m. 5 may, 2024

                      include <bits/stdc++.h>

                      using namespace std;
                      long long snt(long long n){
                      if(n<2) return 0;
                      for(int i=2;i<=sqrt(n);i++)
                      if(n%i==0) return 0;
                      return 1;
                      }
                      long long n;
                      int main()
                      { cin>>n;
                      if(snt(n)==1) cout<<"YES";
                      else cout<<"NO";
                      return 0;
                      }
                      code c++

                      • 10 more comments