fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool asal_mi(int n) {
  5. // 2'den küçük sayılar için.
  6. if (n <= 1)
  7. return false;
  8.  
  9. for (int i = 2; i * i <= n; i++) {
  10. // 2'den kök(n)'e kadarki herhangi bir sayıya bölünebiliyorsa n asal değildir.
  11. // Burada ilk böleni bulduğumuz an direkt false döndürdüğümüz için aslında
  12. // biraz daha optimize oluyor. Hep kök(n)'e kadar ilerleseydik daha uzun sürerdi.
  13. if (n % i == 0)
  14. return false;
  15. }
  16.  
  17. // Yoksa asaldır.
  18. return true;
  19. }
  20.  
  21. int main() {
  22. int n = 10'000'000;
  23.  
  24. int asal_sayisi = 0;
  25. for (int sayi = 1; sayi <= n; sayi++) {
  26. asal_sayisi += asal_mi(sayi);
  27. }
  28.  
  29. cout << "1'den " << n << "'e kadar " << asal_sayisi << " adet asal sayi var."
  30. << "\n";
  31. }
Success #stdin #stdout 4.96s 5300KB
stdin
Standard input is empty
stdout
1'den 10000000'e kadar 664579 adet asal sayi var.