fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <chrono> // Para medir el tiempo
  4.  
  5. using namespace std;
  6.  
  7. // Función para generar números primos usando la Criba de Eratóstenes
  8. void sieve_of_eratosthenes(int n) {
  9. vector<bool> is_prime(n + 1, true);
  10. is_prime[0] = is_prime[1] = false; // 0 y 1 no son primos
  11.  
  12. for (int i = 2; i * i <= n; i++) {
  13. if (is_prime[i]) {
  14. for (int j = i * i; j <= n; j += i) {
  15. is_prime[j] = false;
  16. }
  17. }
  18. }
  19.  
  20. // Imprimir los números primos
  21. for (int i = 2; i <= n; i++) {
  22. if (is_prime[i]) {
  23. cout << i << " ";
  24. }
  25. }
  26. cout << endl;
  27. }
  28.  
  29. int main() {
  30. int n = 10^7; // Cambia este valor para ajustar el límite superior
  31.  
  32. // Medir el tiempo de ejecución
  33. auto start = chrono::high_resolution_clock::now();
  34. sieve_of_eratosthenes(n);
  35. auto end = chrono::high_resolution_clock::now();
  36. chrono::duration<double> elapsed = end - start;
  37.  
  38. cout << "Tiempo de ejecución: " << elapsed.count() << " segundos" << endl;
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
2 3 5 7 11 13 
Tiempo de ejecución: 0.000100791 segundos