【发布时间】:2015-10-11 15:31:38
【问题描述】:
我最近出现了在线编码测试。我遇到了一个问题,即
给出一个数 N,判断上述数是否为 P^Q(P power Q) 形式。我使用蛮力方法(满足个人数字)做了这个问题,但这导致超时。所以我需要高效的算法。
输入:9
输出:是的
输入:125
输出:是的
输入:27
输出:是的
约束:2
【问题讨论】:
-
我不明白这个问题。如果
Q可以为1,则每个数字都是这种形式。 -
找出 N 是否有超过 1 个素数除数。这可以通过优化 N 的素数分解来完成。
-
尝试将其分解为质因数(假设您必须有 Q>1)。
-
@RahulNori 您的解决方案在 P=6 时失败。