fork download
  1. #include <iostream>
  2. #include <cinttypes>
  3. #include <vector>
  4.  
  5. size_t f(size_t n) {
  6. size_t r = 1;
  7. std::vector<uint8_t> sieve(n + 1, 1);
  8. for (size_t i = 2; i <= n; ++i) {
  9. if (sieve[i]) {
  10. for (size_t j = i + i; j <= n; j += i)
  11. sieve[j] = 0;
  12.  
  13. size_t p = i;
  14. while (p * i <= n)
  15. p = p * i;
  16.  
  17. r *= p;
  18. }
  19. }
  20.  
  21. std::cout << n << " " << r << std::endl;
  22. return r;
  23. }
  24.  
  25. int main() {
  26. f(10);
  27. f(20);
  28. return 0;
  29. }
Success #stdin #stdout 0s 4200KB
stdin
Standard input is empty
stdout
10 2520
20 232792560