检查一个数字是否可以在 Python 中表示为 a^b
假设我们有一个数字n。我们必须检查我们是否可以像a^b一样表达它。
所以,如果输入像125,那么输出将是True,因为125=5^3,所以a=5和b=3
为了解决这个问题,我们将按照以下步骤操作-
如果num与1相同,则:
返回真
对于初始化i:=2,当i*i<=num时,更新(将i增加1),执行:
返回真
价值:=log(num)/log(i)
如果val-val的整数部分接近0,则:
返回假
让我们看看以下实现以获得更好的理解-
示例
#include#include using namespace std; bool solve(int num) { if (num == 1) return true; for (int i = 2; i * i <= num; i++) { double val = log(num) / log(i); if ((val - (int)val) < 0.00000001) return true; } return false; } int main() { int n = 125; cout << solve(n); }
输入
125输出结果
1