Primes.cc 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // O(sqrt(x)) Exhaustive Primality Test
  2. #include <cmath>
  3. #define EPS 1e-7
  4. typedef long long LL;
  5. bool IsPrimeSlow (LL x)
  6. {
  7. if(x<=1) return false;
  8. if(x<=3) return true;
  9. if (!(x%2) || !(x%3)) return false;
  10. LL s=(LL)(sqrt((double)(x))+EPS);
  11. for(LL i=5;i<=s;i+=6)
  12. {
  13. if (!(x%i) || !(x%(i+2))) return false;
  14. }
  15. return true;
  16. }
  17. // Primes less than 1000:
  18. // 2 3 5 7 11 13 17 19 23 29 31 37
  19. // 41 43 47 53 59 61 67 71 73 79 83 89
  20. // 97 101 103 107 109 113 127 131 137 139 149 151
  21. // 157 163 167 173 179 181 191 193 197 199 211 223
  22. // 227 229 233 239 241 251 257 263 269 271 277 281
  23. // 283 293 307 311 313 317 331 337 347 349 353 359
  24. // 367 373 379 383 389 397 401 409 419 421 431 433
  25. // 439 443 449 457 461 463 467 479 487 491 499 503
  26. // 509 521 523 541 547 557 563 569 571 577 587 593
  27. // 599 601 607 613 617 619 631 641 643 647 653 659
  28. // 661 673 677 683 691 701 709 719 727 733 739 743
  29. // 751 757 761 769 773 787 797 809 811 821 823 827
  30. // 829 839 853 857 859 863 877 881 883 887 907 911
  31. // 919 929 937 941 947 953 967 971 977 983 991 997
  32. // Other primes:
  33. // The largest prime smaller than 10 is 7.
  34. // The largest prime smaller than 100 is 97.
  35. // The largest prime smaller than 1000 is 997.
  36. // The largest prime smaller than 10000 is 9973.
  37. // The largest prime smaller than 100000 is 99991.
  38. // The largest prime smaller than 1000000 is 999983.
  39. // The largest prime smaller than 10000000 is 9999991.
  40. // The largest prime smaller than 100000000 is 99999989.
  41. // The largest prime smaller than 1000000000 is 999999937.
  42. // The largest prime smaller than 10000000000 is 9999999967.
  43. // The largest prime smaller than 100000000000 is 99999999977.
  44. // The largest prime smaller than 1000000000000 is 999999999989.
  45. // The largest prime smaller than 10000000000000 is 9999999999971.
  46. // The largest prime smaller than 100000000000000 is 99999999999973.
  47. // The largest prime smaller than 1000000000000000 is 999999999999989.
  48. // The largest prime smaller than 10000000000000000 is 9999999999999937.
  49. // The largest prime smaller than 100000000000000000 is 99999999999999997.
  50. // The largest prime smaller than 1000000000000000000 is 999999999999999989.