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

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
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

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    kietjumper  đã bình luận lúc 17, Tháng 4, 2025, 16:09 chỉnh sửa
    #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é!  😅
    

  • -1
    thienvuong112011  đã bình luận lúc 1, Tháng 4, 2025, 13:41

    cho code đi c++


  • 0
    super_god  đã bình luận lúc 8, Tháng 10, 2024, 2:36

    hello ae


  • -7
    ngubbbai  đã bình luận lúc 26, Tháng 6, 2024, 2:47

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


    • 2
      trinhbaonam  đã bình luận lúc 14, Tháng 3, 2025, 8:29

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


      • 0
        kietjumper  đã bình luận lúc 17, Tháng 4, 2025, 16:02

        ...


  • 6
    MinhVu2018  đã bình luận lúc 11, Tháng 1, 2025, 7:47

    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


  • -7
    bnbnbn  đã bình luận lúc 16, Tháng 12, 2024, 3:20

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 3
    hailuacx  đã bình luận lúc 15, Tháng 1, 2024, 14:59

    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  đã bình luận lúc 16, Tháng 12, 2023, 14:49

    case 4 la j the moi nguoi