2026/5/13 17:50:06
网站建设
项目流程
免费建立个人视频网站,网站管理平台模板,陇南地网站seo,wordpress已卸载插件数据本文分享自天翼云开发者社区《从random随机数看验证码重复数字》.作者#xff1a;王****淋
## 推导#xff1a; 1. 有6个不同数字
- (0个重复数字: 111111):
$$p(6) C_{10}^6 * 6! \div 10^6$$ 2. 有5个不同数字
- (某个数字重复了2次: 11112):
$$p(5) (\frac{C_{10}^…本文分享自天翼云开发者社区《从random随机数看验证码重复数字》.作者王****淋## 推导1. 有6个不同数字- (0个重复数字: 111111):$$p(6) C_{10}^6 * 6! \div 10^6$$2. 有5个不同数字- (某个数字重复了2次: 11112):$$p(5) (\frac{C_{10}^5 * C_5^1}{2!*1!*1!*1!*1!} ) * 6! \div 10^6$$$$ (\frac{C_{10}^5 * C_5^1}{2!} ) * 6! \div 10^6$$3. 有4个不同数字- (某个数字重复了3次: 1113或某2个数字各重复2次: 1122)。(省略$1!$):$$p(4) (\frac{C_{10}^4 * C_4^1}{3!} \frac{C_{10}^4 * C_4^2}{2!*2!}) * 6! \div 10^6$$4. 有3个不同数字- (某个数字重复了4次: 114或某个数字重复3次某数字重复2次: 132, 或3个数字哥重复2次: 222):$$p(3) (\frac{C_{10}^3 * C_3^1}{4!} \frac{C_{10}^3 * C_3^1 * C_2^1}{3!*2!} \frac{C_{10}^3 * C_3^3}{2!*2!*2!}) * 6! \div 10^6$$5. 有2个不同数字- (某个数字重复了5次: 15或某个数字重复4次某数字重复2次: 42, 或2个数字哥重复3次: 33): (省略$1!$):$$p(2) (\frac{C_{10}^2 * C_2^1}{5!} \frac{C_{10}^2 * C_2^1}{4!*2!} \frac{C_{10}^2 * C_2^2}{3!*3!}) * 6! \div 10^6$$6. 有1个不同数字(6个相同的重复数字):$$p(1) \frac{C_{10}^1}{6!} * 6! \div 10^6$$## 蒙特卡洛pyimport random# 6位验证码, 相同数字的概率: 蒙特卡洛def mtkr(count:int10, is_show:boolTrue, debug:bool False):ans [0 for i in range(6)]for i in range(count):array_i [random.randint(0, 9) for i in range(6)]n len(list(set(array_i)))if debug:print(n, : , array_i)ans[6-n] 1# end_forif is_show:print(- * 30)print(蒙特卡洛: count:, count, ; \n模拟结果: )for i in range(6):print(unique, 6-i, : , ans[i]/count)return [i/count for i in ans]ans mtkr(100000, is_showTrue, debugFalse)print(ans)res_plot(ans)# 结果#模拟结果:# unique 6 : 0.15148# unique 5 : 0.45396# unique 4 : 0.32748# unique 3 : 0.0643# unique 2 : 0.00278 u# nique 1 : 0.0