fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n = 10'000'000; // 1'den n'e kadarki asalları tespit etmek istiyoruz.
  6. vector<bool> asal_mi(n + 1, 1); // Başta tüm sayıları asal varsayıyoruz.
  7. asal_mi[0] = asal_mi[1] = false; // Burasını elle yapıyoruz.
  8.  
  9. // 2'den n'e kadarki tüm sayıları geziyoruz.
  10. for (int bolen = 2; bolen <= n; bolen++) {
  11. // Katları geziyoruz:
  12. // 2 * bolen, 3 * bolen, 4 * bolen,...
  13. for (int kat = 2 * bolen; kat <= n; kat += bolen) {
  14. asal_mi[kat] = false;
  15. }
  16. }
  17.  
  18. // Örneğin asalların sayısını bulabiliriz.
  19. int asal_sayisi = 0;
  20. for (int sayi = 1; sayi <= n; sayi++) {
  21. asal_sayisi += asal_mi[sayi];
  22. }
  23.  
  24. cout << "1'den " << n << "'e kadar " << asal_sayisi << " adet asal sayi var." << "\n";
  25. }
Success #stdin #stdout 0.39s 5288KB
stdin
Standard input is empty
stdout
1'den 10000000'e kadar 664579 adet asal sayi var.