证明任意两个自然数互质的概率为6/pi^2

2023-11-30 05:38

本文主要是介绍证明任意两个自然数互质的概率为6/pi^2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

证明任意两个自然数互质的概率为 6 π 2 \frac{6}{\pi^2} π26

​ 设事件 A : { ′ m , n 互 质 ′ } A:\{'m,n互质'\} A:{m,n},事件 B : { ′ a , b 互 质 ′ } B:\{'a,b互质'\} B:{a,b},事件 C k : { ′ k 是 a , b 的 公 因 数 ′ } C_k:\{'k是a,b的公因数'\} Ck:{ka,b} D k : { ′ k 是 a , b 的 最 大 公 因 数 ′ } D_k:\{'k是a,b的最大公因数'\} Dk:{ka,b}

​ 若设任意两个自然数分别为 a , b a,b a,b,那么它们互质的概率我们设为 p p p,但是如果这两个自然数同时是 k k k的倍数的概率为:
P ( C k ) = p { a 是 k 的 倍 数 } p { b 是 k 的 倍 数 } = p { ∀ a ∈ N , a k 余 数 是 0 } p { ∀ b ∈ N , b k 余 数 是 0 } = N / k N N / k N = 1 k 2 P(C_k)=p\{a是k的倍数\}p\{b是k的倍数\}=p\{\forall a \in N,\frac{a}{k}余数是0\}p\{\forall b \in N,\frac{b}{k}余数是0\} = \frac{N/k}{N}\frac{N/k}{N} = \frac{1}{k^2} P(Ck)=p{ak}p{bk}=p{aN,ka0}p{bN,kb0}=NN/kNN/k=k21
​ 那么此时我们设:
a = k m , b = k n a = km,b = kn a=km,b=kn
​ 那么我们可以得到以下充要条件:
{ " m , n 互 质 " } ⇐ ⇒ { " k 是 a , b 的 最 大 公 因 数 ∣ k 是 a , b 的 公 因 数 " } \{"m,n互质"\}\Leftarrow \Rightarrow\{"k是a,b的最大公因数|k是a,b的公因数"\} {"m,n"}{"ka,bka,b"}
​ 这也就是说
P ( D k ∣ C k ) = P ( A ) P(D_k|C_k) = P(A) P(DkCk)=P(A)
​ 而此时 m m m n n n同样为任意两个自然数,他们互质的概率也为 p p p
P ( A ) = P ( B ) = p P(A) = P(B) = p P(A)=P(B)=p
​ 而 P ( C k ) = 1 k 2 P(C_k) = \frac{1}{k^2} P(Ck)=k21

​ 而由贝叶斯定理我们可以得到:
P ( D k ) = P ( D k ∣ C k ) P ( C k ) P(D_k) = P(D_k|C_k)P(C_k) P(Dk)=P(DkCk)P(Ck)
​ 而 D k ∣ C k : ′ 在 k 是 a , b 的 公 因 数 的 情 况 下 , k 是 a , b 的 最 大 公 因 数 ′ D_k|C_k:'在k是a,b的公因数的情况下,k是a,b的最大公因数' DkCk:ka,bka,b
P ( D k ∣ C k ) = P ( A ) P(D_k|C_k) = P(A) P(DkCk)=P(A)
​ 这里,我们需要明白一个事实,那就是,对于 k = 1 , 2 , . . . ∞ k=1,2,...\infty k=1,2,...,总有一个数 k k k a , b a,b a,b的最大公因数,这件事情的概率是 1 1 1。也就是说是确定事件。而 ∀ i , j ∈ N , D i ∩ D j = ϕ \forall i,j \in N,D_i \cap D_j = \phi i,jN,DiDj=ϕ。所以:
∑ k = 1 ∞ P ( D k ) = 1 \sum_{k=1}^{\infty}P(D_k)=1 k=1P(Dk)=1
​ 带入由贝叶斯定理导入的公式可得到:
∑ k = 1 ∞ p k 2 = 1 \sum_{k=1}^{\infty}\frac{p}{k^2} = 1 k=1k2p=1
​ 因此化简之后我们可以得到:
p = 1 ∑ k = 1 ∞ 1 k 2 = 6 π 2 p = \frac{1}{\sum_{k=1}^{\infty}\frac{1}{k^2}} = \frac{6}{\pi^2} p=k=1k211=π26
​ 接下来我们用 P y t h o n Python Python借助上面的原理估计一下 π \pi π的大小来验证结果的正确性:

import math
import random
def isInterSushu(sx,sy):num = min(sx,sy)res = 2for i in range(num,1,-1):if (sx%i == 0)&(sy%i == 0):res = 0breakelse:res = 1return resdef calPi(numbers):sum = 0error = 0random.seed(10)for i in range(numbers):sx_value = int(numbers*random.random())sy_value = int(numbers*random.random())if isInterSushu(sx_value,sy_value):sum += 1error += 1**2Prop = sum/numberssigma = math.sqrt(1/numbers*error-(sum/numbers)**2)epsilon = sigma*1.96/math.sqrt(numbers)pi = math.sqrt(6 / (Prop))error_min = math.sqrt(6/(Prop+epsilon))error_max = math.sqrt(6/(Prop-epsilon))print("pi在{:}的试验次数下pi的估计值为{:.3f},由0.95的概率认为真值在[{:.5f},{:.5f}]之间。".format(numbers,pi,error_min,error_max))calPi(10000)

最后的结果是:

pi在10000的试验次数下pi的估计值为3.131,0.95的概率认为真值在[3.10672,3.15558]之间。Process finished with exit code 0

可以发现结论基本上是正确的。

这篇关于证明任意两个自然数互质的概率为6/pi^2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/435838

相关文章

hdu4865(概率DP)

题意:已知前一天和今天的天气概率,某天的天气概率和叶子的潮湿程度的概率,n天叶子的湿度,求n天最有可能的天气情况。 思路:概率DP,dp[i][j]表示第i天天气为j的概率,状态转移如下:dp[i][j] = max(dp[i][j, dp[i-1][k]*table2[k][j]*table1[j][col] )  代码如下: #include <stdio.h>#include

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

linux 内核提权总结(demo+exp分析) -- 任意读写(四)

hijack_modprobe_path篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     原理同hijack_prctl, 当用户执行错误格式的elf文件时内核调用call_usermod

linux 内核提权总结(demo+exp分析) -- 任意读写(三)

hijack_prctl篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   prctl函数: 用户态函数,可用于定制进程参数,非常适合和内核进行交互 用户态执行prctl函数后触发prctl系统

linux 内核提权总结(demo+exp分析) -- 任意读写(二)

hijack_vdso篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     vdso: 内核实现的一个动态库,存在于内核,然后映射到用户态空间,可由用户态直接调用 内核中的vdso如果被修改

linux 内核提权总结(demo+exp分析) -- 任意读写(一)

cred篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   每个线程在内核中都对应一个线程结构块thread_infothread_info中存在task_struct类型结构体 struct t

两个长数字相加

1.编程题目 题目:要实现两个百位长的数字直接相加 分析:因为数字太长所以无法直接相加,所以采用按位相加,然后组装的方式。(注意进位) 2.编程实现 package com.sino.daily.code_2019_6_29;import org.apache.commons.lang3.StringUtils;/*** create by 2019-06-29 19:03** @autho

创建一个大的DIV,里面的包含两个DIV是可以自由移动

创建一个大的DIV,里面的包含两个DIV是可以自由移动 <body>         <div style="position: relative; background:#DDF8CF;line-height: 50px"> <div style="text-align: center; width: 100%;padding-top: 0px;"><h3>定&nbsp;位&nbsp;