3^100的位数判断

news/2024/11/7 13:20:26/

3^100的位数判断

问题来源

字节面试,面试官提问:口算估计3^100的位数,或是给出位数估计范围。

解决方案

方法一:

该方法纯口算,可得一个较为准确的一个范围
2 100 < 3 100 < 4 100 2^{100}<3^{100}<4^{100} 2100<3100<4100
2 100 2^{100} 2100位数判断
2 100 = ( 2 10 ) 10 = 102 4 10 ≈ 100 0 10 = 1 0 30 2^{100} = (2^{10})^{10}=1024^{10}\approx1000^{10}=10^{30} 2100=(210)10=102410100010=1030 是31位数字
4 100 4^{100} 4100位数判断
由于 4 100 = ( 2 100 ) 2 4^{100}= (2^{100})^{2} 4100=(2100)2
4 100 = 1 0 60 4^{100}= 10^{60} 4100=1060是62位数字
故位数介于31与62之间
x 100 x^{100} x100函数的二阶导数>0
x 100 x^{100} x100为凹函数,故位数介于46与62之间
3 100 = 9 50 < 1 0 50 3^{100} = 9^{50}<10^{50} 3100=950<1050 故小于是51位数字
综上:位数介于46与51之间

方法二:

3 4 = 81 = 80 ∗ ( 81 80 ) 3^4=81=80*(\frac {81} {80}) 34=81=80(8081)
3 100 = 8 0 25 ∗ ( 81 80 ) 25 3^{100} = 80^{25}*(\frac{81}{80})^{25} 3100=8025(8081)25
= 2 75 ∗ 1 0 25 ∗ ( 81 80 ) 25 = 2^{75} * 10 ^{25} * (\frac{81} {80})^{25} =2751025(8081)25
= 32 ∗ 102 4 7 ∗ 1 0 25 ∗ ( 81 80 ) 25 = 32 * 1024^7 * 10^{25} * (\frac {81}{80})^{25} =32102471025(8081)25
= 3.2 ∗ ( 1.024 ) 7 ∗ 1 0 47 ∗ ( 81 80 ) 25 = 3.2 * (1.024)^7 * 10^{47} * (\frac {81}{80})^{25} =3.2(1.024)71047(8081)25
现在我们估计 ( 81 80 ) 25 (\frac{81}{80})^{25} (8081)25:它小于 ( 81 / 80 ) ∗ ( 80 / 79 ) ∗ . . . ∗ ( 57 / 56 ) = 81 / 56 < 1.5 (81/80)*(80/79)*...*(57/56) = 81/56 < 1.5 (81/80)(80/79)...(57/56)=81/56<1.5
类似的方法显示 1.02 4 7 < 1.0 3 7 < ( 103 / 100 ) ∗ ( 100 / 97 ) ∗ . . . ∗ ( 85 / 82 ) = 103 / 82 < 104 / 80 = 1.3 1.024^7 < 1.03^7 < (103/100)*(100/97)*...*(85/82)=103/82 < 104/80 = 1.3 1.0247<1.037<(103/100)(100/97)...(85/82)=103/82<104/80=1.3
3.2 ∗ 1 0 47 < 3 100 < 3.2 ∗ 1.5 ∗ 1.3 ∗ 1 0 47 < 1 0 48 3.2 * 10^{47} < 3^{100} < 3.2 * 1.5 * 1.3 * 10^{47} < 10^{48} 3.21047<3100<3.21.51.31047<1048
所以48位数字。

方法三:

在这里插入图片描述

该方法的关键是计算 log ⁡ 10 3 \log_{10} 3 log103
log ⁡ 10 3 = ln ⁡ 3 / ln ⁡ 10 \log_{10} 3 = \ln3 / \ln10 log103=ln3/ln10

在这里插入图片描述
对于 l n 3 ln3 ln3
x = 3 , y = 1 / 2 x = 3, y = 1/2 x=3y=1/2
二阶展开结果为 1 ∗ ( 1 + 1 / 12 ) = 1.1 1*(1+1/12) = 1.1 1(1+1/12)=1.1
对于 l n 10 ln10 ln10
x = 10 , y = 9 / 11 x = 10, y = 9/11 x=10y=9/11
二阶展开结果为 18 / 11 ∗ ( 1 + 81 / 363 ) 18/11*(1+81/363) 18/11(1+81/363) = 2
计算的 100 ∗ ( 1.1 / 2 ) + 1 = 56 100*(1.1/2)+1 = 56 100(1.1/2)+1=56
对于 l n 3 ln3 ln3
x = 3 , y = 1 / 2 x = 3, y = 1/2 x=3y=1/2
对于 l n 10 ln10 ln10
三阶展开结果为 1 ∗ ( 1 + 1 / 12 + 1 / 80 ) = 1.1 1*(1+1/12+1/80) = 1.1 1(1+1/12+1/80)=1.1
x = 10 , y = 9 / 11 x = 10, y = 9/11 x=10y=9/11
三阶展开结果为2.3
计算的100*1.1/2.3+1 = 49

总结

由于是计算机相关面试,很容易联想到使用 2 100 2^{100} 2100 4 100 = ( 2 2 ) 100 = ( 2 100 ) 2 4^{100} = (2^{2})^{100} = (2^{100})^{2} 4100=(22)100=(2100)2尝试确定范围,结合 x 100 x^{100} x100函数性态确定为46-62位数,实际上,笔者面试时就是思考到这一步,没有想到与 3 100 = 9 50 3^{100} = 9^{50} 3100=950进一步确定范围。
方法二先将 3 100 3^{100} 3100转为 3.2 ∗ ( 1.024 ) 7 ∗ 1 0 47 ∗ ( 81 80 ) 25 3.2 * (1.024)^7 * 10^{47} * (\frac {81}{80})^{25} 3.2(1.024)71047(8081)25 再进行适当缩放判断 ( 81 80 ) 25 (\frac{81}{80})^{25} (8081)25 1.02 4 7 1.024^7 1.0247,该方法关键在于底数与对数的转换以及分数的裂项相消。
方法三是判断位数的常规方法,该方法关键在于对数 log ⁡ 10 3 \log_{10} 3 log103的估算。

参考文献

方法二参考 3的100次方是多少位数?评论区方法
方法三部分参考ChatGPT

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
请添加图片描述


http://www.ppmy.cn/news/1545072.html

相关文章

excel文档加密如何设置?电脑小白也会用的4种加密方法,30s轻松学!

excel文档加密如何设置&#xff1f;Excel文档承载着大量的敏感信息&#xff0c;如财务数据、客户信息、业务报告等。 一旦这些信息被泄露&#xff0c;可能会给企业或个人带来严重的损失。 因此&#xff0c;对Excel文档进行加密&#xff0c;确保其安全性&#xff0c;显得尤为重…

实用篇:postman汉化教程

下载postman对应版本的汉化包 在postman安装目录下默认在C:\Users\用户名\AppData\Local\Postman\app-9.12.2\resources,放入解压后的汉化包 重启就可以了

10-Query Filtering 与多字符串多字段查询

# must&#xff0c;有算分 # Filter。不参与算分&#xff0c;结果的score是0 # 改变数据模型&#xff0c;增加字段。解决数组包含而不是精确匹配的问题 # 嵌套&#xff0c;实现了 should not 逻辑 # minimum_should_match: 指定了至少应该匹配的 should 子句数量。 DELETE …

参数N9010A信号分析仪KEYSIGHT N9010B进口原装二手

安捷伦Agilent N9010A频谱信号分析仪&#xff0c;作为一款业界领先的测试测量设备&#xff0c;它以其卓越的性能、广泛的应用领域以及高度的可靠性&#xff0c;在电子工程、通信研发、无线电监测等多个领域内扮演着举足轻重的角色。 这款频谱信号分析仪采用了先进的数字信号处理…

C#结合JS解决Word添加无效位图导致进程停滞的问题

目录 故障现象 解决步骤 开发运行环境 关键代码 呈现图片到客户端 重绘图像 后端处理 小结 故障现象 最近在使用Word导出简历的时候&#xff0c;发现在导出某些简历数据的时候&#xff0c;服务器端 WORD 进程停滞&#xff0c;页面无响应。最后发现问题发生在使用 Word…

海量数据迁移:Elasticsearch到OpenSearch的无缝迁移策略与实践

文章目录 一&#xff0e;迁移背景二&#xff0e;迁移分析三&#xff0e;方案制定3.1 使用工具迁移3.2 脚本迁移 四&#xff0e;方案建议 一&#xff0e;迁移背景 目前有两个es集群&#xff0c;版本为5.2.2和7.16.0&#xff0c;总数据量为700T。迁移过程需要不停服务迁移&#…

【青牛科技】D1084 5A低压差电压调整器应用方案

1、 概述&#xff1a; D1084是一款具有5A输出能力、低压差为1.5V的三端稳压器。输出电压可通过电位器调节或1.5V, 1.8V, 3.3V三个固定电压版。内含电流限制和热保护功能&#xff0c;防止任何过载时产生过高的结温。D1084系列电路有标准TO-220、TO-263和TO-252封装形式。 2、 典…

IDEA在编译时: java: 找不到符号符号: 变量 log

一、问题 IDEA在编译的时候报Error:(30, 17) java: 找不到符号符号: 变量 log Error:(30, 17) java: 找不到符号 符号: 变量 log 位置: 类 com.mokerson.rabbitmq.config.RabbitMqConfig 二、解决方案 背景&#xff1a;下载其他同事代码时&#xff0c;第一次运行&#xff0c…