6#include "utils/factorize.h"
12std::pair<unsigned long long, unsigned long long> utils::factorize(
unsigned long long input,
13 unsigned int acceptable_delta) {
14 unsigned long long root = sqrt(input);
15 if (root * root > input - acceptable_delta)
16 return std::make_pair(root, root);
18 unsigned long long x = root, y = root;
21 if (x * y > input + acceptable_delta) {
25 }
else if (x * y < input - acceptable_delta) {
30 return std::make_pair(x, y);