0
点赞
收藏
分享

微信扫一扫

Python实现基础数学的解法

dsysama 2022-02-13 阅读 45
python数学

Python实现基础数学的解法之进位问题

例题:已知92012 是一个1920位数,请问1,9,92,93,…,92012中有多少个数首位数字为9?

解:9k首位为9 <=> 9k-1首位为1 <=> 9k与9k-1数位一样多(即无进位)

即9k-1 -> 9k不进位时9k首位为9

又1,9,92,93,…,92012从1位数到1920位数共1919个进位,从而有2012-1919=93个未产生进位,故有93个数首位数字为9

python编程:

x=0
for i in range(0,2012):
    a=9**i
    b=int(len(str(a)))
    if a//10**(b-1)==9:
        x+=1    
print(x)  

运行结果:

举报

相关推荐

0 条评论