读书人

(算法题)五的987次方有多少位

发布时间: 2012-12-25 16:18:28 作者: rapoo

(算法题)5的987次方有多少位

有同事贴出一个入群被拒绝理由如下,(蛮搞笑的)

(算法题)五的987次方有多少位

本着一个玩一玩的心态,本试着看看能不能解出来,过程如下:

第一次试着手段算5的n次方,希望能够从结果发现某些规律,结果算到5^10,也没有发现任何规律。

喝杯茶,再仔细看看题目,发现这里只是求位数,而且底数是5,再想一想,5可以转化为10/2 ,看到这两个数据,就亲切了。于是:

5^987 = (10/2)^987 = (10^987)/(2^987) = A/B


所以:10^987次方即为 1000.....0(987)个0,即10^987有987位

于是上面题目转化为求2^987次方有多少位的问题,

2^n =10^(log(2^n)) = 10^(n*log2)

log2 约= 0.30103


2的n次方有0.30103 * n (取不小于这个值的最小正整数) 位


所以2的987次方有 297位

所以5的987次方有 690位


上面用到公式:

a的N次幂公式=a^N=10^(Nlga)

如果上面题目直接用公式:

那么5^987 = 10^(987*log5)  ~= 10^(987*0.69897)  =10^689.88339 ~=  10^690 
所以:算法才是王道!


4楼zp3141592910小时前
x^y果断:n(int)(log(X) * y + 1)
3楼masikkk昨天 20:08
有点意思
2楼TJ475080336昨天 16:41
高中的数学题呗,其实一句话代码就实现了:npython print len(str(5**987))n输出690
1楼faintzw昨天 14:56
我是那群的管理员和这题的出题人。我真的只是想看加群的人知不知道python可以处理任意高精度的整数。所以1楼的就是我想要的答案。2楼的也是在考虑范围内的。n其实5和987这数我都是随手写的,就是怕有人能在网上找到答案。没想到还是有人发出来了。接下来又要换题了

读书人网 >其他相关

热点推荐