这是一个采访问题:"给定2个整数x和y,检查x是否是y的整数幂"(例如,对于x = 8和y = 2,答案是"真",对于x = 10和y = 2 "假").
明显的解决方案是:
int n = y; while(n < x) n *= y; return n == xRun Code Online (Sandbox Code Playgroud)
现在我在考虑如何改进它.
当然,我可以检查一些特殊情况:比如他们x和y应该是奇数或偶数,也就是说,我们可以检查的至少显著位x和y.但是我想知道我是否可以改进核心算法本身.