题目
快速判断输入的int型整数是否是3的N次幂。
输入
27
243
10
输出
YES
YES
NO
分析
利用对数的换底公式来做,换底公式为loga(b) = logc(b) / logc(a)。如果n是3的N次幂,则log3(n)一定是整数,利用换底公式可以写为log3(n) = log(n) / log(3)。问题变为判断log(n) / log(3)是否为整数。
代码
#include <iostream>
#include <cmath>
using namespace std;
int