题意:给你x1/x2/x3…/xn
问是否有可能在其中添加一些括号使得结果为整数
解:
首先x1无论怎么添加括号也是分子
再观察其余部分x2/x3…/xn,我们可以x2/(x3/x4…xn),那么x2无论怎么添,都是分母,其余的都能成为分子即转化为:
x1 * x3 * x4…*xn / x2
可以唯一分解,也可以每次除gcd
gcd的最大递归层数: 4.785lgN + 1.6723
递归层数最多的是菲波那切数列
由唯一分解定理:
a = p1e1 * p2e2 … pnen
b = p1f1 * p2f2 … pnfn
gcd(a,b) = p1min(e1,f1) * p2min(e2,f2)…pnmin(en,fn)
lcm(a,b) = p1max(e1,f1) * p2max(e2,f2)…pnmax(en,fn)
也得gcd(a,b) * lcm(a,b) == a * b