VT09 - Tìm số nguyên tố trong mảng

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Cho mảng ~A~ gồm ~n~ số nguyên, hãy viết chương trình tìm và in ra các số nguyên tố có trong mảng

Input

  • Dòng đầu tiên là số nguyên dương ~n~
  • Dòng tiếp theo là ~n~ số nguyên tương ứng là các phần tử của mảng ~A~

Trong đó

  • ~n \le 10^4~
  • ~|A_{ij}| \le 1000~

Output

Xuất ra các số nguyên tố có trong mảng, yêu cầu:

  • Theo thứ tự tăng dần
  • Chỉ in ra 1 lần cho dù số nguyên tố đó xuất hiện nhiều hơn 1 lần
  • Các số nguyên tố cách nhau bằng 1 dấu cách

Sample

Input #1
4
1 2 2 3
Output #1
2 3

Comments

Please read the guidelines before commenting.



  • 2
    kietjumper  commented on April 17, 2025, 4:09 p.m. edited
    #include <bits/stdc++.h>
    #define bzrt ios_base::sync_with_stdio(false); cin.tie(nullptr)
    using namespace std;
    
    bool ktsnt(int a)
    {
        if (a < 2)
        {
            return false;
        }
        if (a == 2 || a == 3)
        {
            return true;
        }
        if (a % 2 == 0 || a % 3 == 0)
        {
            return false;
        }
        for (int i = 5; i * i <= a; i += 6)
        {
            if (a % i == 0 || a % (i + 2) == 0)
            {
                return false;
            }
        }
        return true;
    }
    
    int main()
    {
        bzrt;
        int n, a[10010];
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            cin >> a[i];
        }
        sort (a, a + n);
        for (int i = 0; i < n; i++)
        {
            if (ktsnt(a[i]))
            {
                if (a[i] != a[i - 1])
                {
                    cout << a[i] << " ";
                }
            }
        }
    }
    
    

    AC: ✓

    Code mình có thể chưa hoàn chỉnh lắm, mong các bạn nhận xét nhé!  😅
    

    • 0
      PTIT_lnpl  commented on May 14, 2025, 7:23 a.m.

      code của bạn hơi ăn may, vì 5+6 = 11, nghĩa là bạn bỏ qua trường hợp 7. 7 cũng là số nguyên tố


  • -1
    thienvuong112011  commented on April 1, 2025, 1:41 p.m.

    cho code đi c++


  • 0
    super_god  commented on Oct. 8, 2024, 2:36 a.m.

    hello ae


  • -6
    ngubbbai  commented on June 26, 2024, 2:47 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


    • -1
      nguyendangkhoinguyen  commented on May 20, 2025, 11:39 a.m.

      phản hồi cho bạn đây: VFX: ảnh như avt của tôi


    • 2
      trinhbaonam  commented on March 14, 2025, 8:29 a.m.

      trong cuoc song nay chi co lam thi moi co an ko lam ma doi co an thi chi co an skibidi


  • 6
    MinhVu2018  commented on Jan. 11, 2025, 7:47 a.m.

    bài này viết code nhìn đẹp quá. Bạn cho mình hỏi đoạn này với: if (a[i] != a[i - 1]) --> Như này thì nó xét 2 phần tử gần nhau thôi hay đến a[i] nó xét a[i] với tất cả các phần tử trước a[i] nhỉ? Chỗ này mình vẫn chưa hiểu lắm,mong bạn giải thích giúp mình với.Cảm ơn bạn


  • -8
    bnbnbn  commented on Dec. 16, 2024, 3:20 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • 3
    hailuacx  commented on Jan. 15, 2024, 2:59 p.m.

    Có rất nhiều cách làm, đây là một cách:

    • Sắp xếp tăng dần,
    • Dùng set để lưu các số nguyên tố (đảm bảo không có phần tử giống nhau). Sau duyệt set là được.

  • -2
    tuanhaone  commented on Dec. 16, 2023, 2:49 p.m.

    case 4 la j the moi nguoi