Thuật toán sàng nguyên tố Eratosthenes C++

 Thuật toán sàng nguyên tố Eratosthenes

#include<bits/stdc++.h>
using namespace std;

int main() {
  int N = 1000;
  bool check[N + 1];
  // Khởi tạo tất cả các số [2...N] đều là số nguyên tố
  for (int i = 2; i <= N; i++) {
    check[i] = true;
  }
 
  // Thuật toán sàng nguyên tố
  // Nếu một số là số nguyên tố, thì tất cả các bội của nó không phải số nguyên tố
  for (int i = 2; i <= N; i++) {
    if (check[i] == true) {
      for (int j = 2 * i; j <= N; j += i) {
        check[j] = false;
      }
    }
  }
  // In ra các số là số nguyên tố
  for (int i = 2; i <= N; i++) {
    if (check[i] == true) {
      cout << i << " ";
    }
  }
}
Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget