这题的话。假设原来的数是a和b,
给出GCD和LCM以后
我们只需要求一下
LCM/GCD 的因子 就可以求出 a/gcd 和 b/gcd
然后求出的这两个东西之间不能有公约数
所以一个数取因子的时候要把某个因子全拿走
用的是Pollard_rho进行分解这种比较大的数。
复杂度的话,假设分解出一个因子是p,用的时间是O(sqrt(p))
总体来说比你直接sqrt(n)分解快多了
#include
#include
#include
#include
#include
#include
#include