Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | None | 0 0
  1. #include <utility>
  2. #include <vector>
  3. #include <cmath>
  4.  
  5. std::vector<std::pair<int64_t, int>> Factorize(int64_t x) {
  6.     std::vector<std::pair<int64_t, int>> result;
  7.     for (int64_t divider = 2; divider < std::sqrt(x) + 1; ++divider) {
  8.         if (x % divider == 0) {
  9.             int counter = 0;
  10.             while (x % divider == 0) {
  11.                 ++counter;
  12.                 x /= divider;
  13.             }
  14.             result.emplace_back(divider, counter);
  15.         }
  16.     }
  17.     if (x > 1) {
  18.         result.emplace_back(x, 1);
  19.     }
  20.     return result;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement