对于给定的整数N和K(1 <= N,K <= 2000000000),你必须找到N ^ K的位数。
有没有公式或什么?因为我试图通过简单地驱动N ** K来解决它,但是它不适用于大值,并且程序因为计算而简单地冻结。我正在寻找一些快速的方式,也许像我之前说过的一些数学公式。
答案 0 :(得分:15)
N的10个基本日志应该为您提供其中的位数。这必须足以作为提示: - )
答案 1 :(得分:3)
提示:对数。
答案 2 :(得分:2)
提示:记录(X ^ Y)= Y * Log(X)
以下数字有4位数字;十进制对数的整数部分是4 - 1 = 3。 记录1000 = 3,记录(9999)= 3,9999565683801924896154439559762
答案 3 :(得分:1)
尝试考虑一个数学运算,告诉你数字的位数。将其应用于N ** K,看看你是否不能简化公式。