[刷题] 统计首位数

Posted cxc1357

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[刷题] 统计首位数相关的知识,希望对你有一定的参考价值。

练习1:统计从1到100的阶乘中,1到9做首位的次数

Python

import matplotlib.pyplot as plt
def first_digital(x):
    while x >= 10:
        x //= 10
    return x
if __name__ == __main__:
    n = 1
    frequency = [0]*9
    for i in range(1,100):
        n *= i
        m = first_digital(n)-1
        frequency[m] += 1

print(frequency)
plt.plot(frequency,r-,linewidth=2)
plt.grid(True)
plt.show()

本福特定律(第一数字定律):以1为首位数字出现的概率约30%,是直观想象1/9的三倍

 

以上是关于[刷题] 统计首位数的主要内容,如果未能解决你的问题,请参考以下文章

leetcode刷题日记——反转整数

如何隐藏片段中首选项之间的分隔符

2019.8.28刷题统计

2019.8.27刷题统计

2019.8.8刷题统计

LeetCode刷题offer17-简单-打印从1到最大的n位数