当前位置: 首页 > news >正文

数论问题76一一容斥原理

容斥原理是一种计数方法,用于计算多个集合的并集中元素的个数,以避免重复计算。以下是其基本内容及相关公式:

 

两个集合的容斥原理

 若有集合A和集合B,那么A与B的并集中元素的个数等于A集合元素个数加上B集合元素个数,再减去A与B交集的元素个数,即|AUB| = |A|+|B|-|A∧ B|。

 

例如,一个班级中喜欢数学的有30人,喜欢语文的有25人,既喜欢数学又喜欢语文的有10人。那么喜欢数学或语文的人数为30 + 25-10=45人。

 

三个集合的容斥原理

 对于集合A、B、C,它们的并集中元素个数公式为|AUBUC|=|A|+|B|+|C|-|A∧ B|-|A∧ C|-|B∧ C| + |A∧ B∧ C|。

 

例如,在某学校的社团活动中,参加音乐社团的有50人,参加绘画社团的有40人,参加体育社团的有35人。同时参加音乐和绘画社团的有15人,同时参加音乐和体育社团的有10人,同时参加绘画和体育社团的有8人,三个社团都参加的有3人。则参加社团的总人数为50+40 + 35-15-10-8+3=95人。

 

可以把容斥原理推广到一般情况(略)。

 

容斥原理在组合数学、概率论、数论等领域都有广泛应用,比如在计算排列组合问题中满足特定条件的排列数,或在概率计算中求多个事件至少发生一个的概率等。

 

下面介绍容斥原理在自然数集中的应用一一欧拉函数φ(n)。符号φ(n)表示n以内的与n互质的自然数个数。

如,求10以内的与10互质的自然数(除0外)。

过程:{1,2,3,4,5,6,7,8,9,10}。因为10=2X5,被2整除的自然数个数有10÷2=5,与2互质的自然数个数为10(1-1/2)=5。被5整除的自然数有10÷5=2个,与5互质的自然数个数有10(1-1/5)=8。所以,同时与2和5都互质的自然数个数有10(1~1/2)(1-1/5)=4。即φ(10)=4。

把φ(n)可以推广到任意连续的n个自然数中,计算结果与n以内的与n互质的自然数个数是相同的。如{8,9,10,11,12,13,14,15,16,17},φ(1o)=4,即与10互质的数有9,11,13,17。

 

也可以把欧拉函数φ(n)推广到等差数列中,如奇数集A:{1,3,5,…,2n-1}。A中n个元素,与n互质的元素个数是φ(n)。

因为A中所有元素都与2互质,计算φ(n)时,先把n分解因数,化为质数幂之积的形式,由容斥原理再计算结果。如:φ(10),A中10个元素与10互质的元素{1,3,7,9,11,13,17,19},即φ(10)=10(1-1/5)=8。推广到任意连续的10个元素中,如(9,11,13,15,17,19,21,23,25,27}中与1θ互质的元素{9,11,13,17,19,21,23,27},即φ(10)=10(1-1/5)=8。

进一步,把欧拉函数应用到素数的存在数域,孪生素数的存在数域,和哥德巴赫猜想的存在数域中,能给n以内的素数个数的近似函数表示式,孪生素数个数的近似函数表示式和2n表两个素数之和的哥德巴赫猜想的“1+1“个数表示式。具体介绍如下

 

①素数个数的表示式

数域A:{1,2,3,…,n,n+1,…,m},其中,m=2x3x5…xp(连续素数之积),p为素数,p^2≤n,那么,A中与m互质的数个数为φ(m)=(2-1)(3-1)(5-1)…(p-1)。设A(n)表示n以内的与m互质的数的个数,即A(n)表示了n以内的素数个数(包含1,但不包含2,3,…,p的个数。由于A(n)/n≈φ(m)/m,所以,

A(n)≈n(1-1/2)(1-1/3)…(1-1/p)。

②孪生素数的个数表示式

设数域B:{(-1,1),(0,2),(1,3),…,(n-2,n),…,(m-2,m)},其中,m=2x3x5…xp(连续素数之积),p为素数,p^2≤n,那么,B中与m互质的元素个数为φ(m)=(2-1)(3-2)(5-2)…(p-2)。设B(n)表示n以内的与m互质的元素的个数,即B(n)表示了n以内的孪生素数个数(包含(-1,1)个数,但不包含与2,3,…,p的互质的元素个数,意义:p与元素互质,指p与元素中的两个数都互质)。由于B(n)/n≈φ(m)/m,所以,

 

B(n)≈n(1-1/2)(1-2/3)…(1-2/p)。

 

③哥德巴赫猜想的“1+1"个数表示式

 

设数域C:{(1,2n-1),(2,2n-2),(3,2n-3),…,(2n-n,n),…,(m,2n-m)},其中,m=2x3x5…xp(连续素数之积),p为素数,p^2≤2n,那么,C中与m互质的元素个数为φ(m)=(2-1)(3-r2)(5-r3)…(p-rt),其中,当p|2n时,rt=1;当p不整除2n时,rt=2。设C(2n)表示两素数之和的个数,但不包含p以内素数的“1+1″个数,,即C(2n)表示了C中n以内的(素数,素数)个数,包含(1,2n-1)为(1,素数)时的个数,但不包含与2,3,…,p的互质的元素个数(意义:p与元素互质,指p与元素中的两个数都互质)。由于C(2n)/n≈φ(m)/m,所以,

 

C(n)≈n(1-1/2)(1-r2/3)…(1-rt/p)。

 

欧拉函数还有许多应用,在筛除合数方面,应用欧拉函数,形成了固定的方法:欧拉函数筛法。欧拉函数筛法在筛取素数,孪生素数,哥德巴赫猜想的“1+1"方面,比埃氏筛法更为先进。如

100=1+99=2+98,筛去含2因子的和,得

100=1+99=3+97=5+95,再筛去含3因子的和,得

100=5+95=11+89=17+83=23+77=29+71,

筛去含5因子的和,得

100=11+89=17+83=23+77=29+71,

=41+59=47+53=53+47=59+41…,

筛去含7因子的和,得

100=11+89=17+83=29+71

=41+59=47+53。由于筛去100=3+97,于是

100=3+97=11+89=17+83=29+71

=41+59=47+53。

所以,100表两个素数之和的个数为6。(李扩继)

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

数论问题76一一容斥原理

容斥原理是一种计数方法,用于计算多个集合的并集中元素的个数,以避免重复计算。以下是其基本内容及相关公式: 两个集合的容斥原理 若有集合A和集合B,那么A与B的并集中元素的个数等于A集合元素个数加上B集合元素个数,再…...

python-leetcode-从中序与后序遍历序列构造二叉树

106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode) # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right r…...

【Oracle篇】使用Hint对优化器的执行计划进行干预(含单表、多表、查询块、声明四大类Hint干预)

💫《博主介绍》:✨又是一天没白过,我是奈斯,从事IT领域✨ 💫《擅长领域》:✌️擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(…...

设置jmeter外观颜色

设置jmeter外观颜色 方法: 步骤一、点击顶部选项 ->外观,这里提供了不同的主题,可选自己喜欢的风格。 步骤二、选择后,弹框提示点击Yes。...

计算机网络 IP 网络层 2 (重置版)

IP的简介: IP 地址是互联网协议地址(Internet Protocol Address)的简称,是分配给连接到互联网的设备的唯一标识符,用于在网络中定位和通信。 IP编制的历史阶段: 1,分类的IP地址: …...

神经网络和深度学习

应用 类型 为什么近几年飞速发展 数据增长,算力增长,算法革新 逻辑回归 向量化 浅层神经网络(Shallow neural network) 单条训练数据前向传播计算表达式 batch训练数据前向传播计算表达式 反向传播计算表达式 参数随机初始化 不能全部设为0 原因是同一…...

MySQL 基础学习(3):排序查询和条件查询

MySQL 查询与条件操作:详解与技巧 在本文中,我们将探讨 MySQL 中的查询操作及其相关功能,包括别名、去重、排序查询和条件查询等,并总结一些最佳实践和注意事项。 一、使用别名(AS) 在查询中&#xff0c…...

webAPI -DOM 相关知识点总结(非常细)

title: WebAPI语法 date: 2025-01-28 12:00:00 tags:- 前端 categories:- 前端WEB API 了解DOM的结构并掌握其基本的操作,体验 DOM 在开发中的作用 API简介 就是使用js来操作html和浏览器 什么是DOM? 就是一个文档对象模型,是用来呈现预计于任意htm…...

web集群

项目名称 基于keepalivednginx构建一个高可用、高性能的web集群 项目架构图 项目描述 构建一个基于nginx的7层负载均衡的web集群项目,模拟企业的业务环境达到构建一个高并发、高可用的web集群。通过压力测试来检验整个集群的性能,找出瓶颈&#xff0…...

Elasticsearch——Elasticsearch性能优化实战

摘要 本文主要介绍了 Elasticsearch 性能优化的实战方法,从硬件配置优化、索引优化设置、查询方面优化、数据结构优化以及集群架构设计等五个方面进行了详细阐述,旨在帮助读者提升 Elasticsearch 的性能表现。 1. 硬件配置优化 升级硬件设备配置一直都…...

不背单词快捷键(不背单词键盘快捷键)

文章目录 不背单词快捷键 不背单词快捷键 ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ        ‌‍ᅟᅠ    …...

kafka-保姆级配置说明(consumer)

bootstrap.servers #deserializer应该与producer保持对应 #key.deserializer #value.deserializer ##fetch请求返回时,至少获取的字节数,默认值为1 ##当数据量不足时,客户端请求将会阻塞 ##此值越大,客户端请求阻塞的时间越长&…...

1.五子棋对弈python解法——2024年省赛蓝桥杯真题

问题描述 原题传送门:1.五子棋对弈 - 蓝桥云课 "在五子棋的对弈中,友谊的小船说翻就翻?" 不!对小蓝和小桥来说,五子棋不仅是棋盘上的较量,更是心与心之间的沟通。这两位挚友秉承着"友谊第…...

python3+TensorFlow 2.x(三)手写数字识别

目录 代码实现 模型解析: 1、加载 MNIST 数据集: 2、数据预处理: 3、构建神经网络模型: 4、编译模型: 5、训练模型: 6、评估模型: 7、预测和可视化结果: 输出结果&#xff…...

杨辉三角(蓝桥杯2021年H)

输入一个数字&#xff0c;看杨辉三角压缩矩阵第几个数与之相等。 #include<iostream> using namespace std; /* typedef struct Node {int* data;int size;Node* next; }Node,*Linklist; */ int C(int a,int b) {//求解组合数int c 1,div 1;if (b 0) {c 1;}else {fo…...

【蓝桥杯嵌入式入门与进阶】2.与开发板之间破冰:初始开发板和原理图2

个人主页&#xff1a;Icomi 专栏地址&#xff1a;蓝桥杯嵌入式组入门与进阶 大家好&#xff0c;我是一颗米&#xff0c;本篇专栏旨在帮助大家从0开始入门蓝桥杯并且进阶&#xff0c;若对本系列文章感兴趣&#xff0c;欢迎订阅我的专栏&#xff0c;我将持续更新&#xff0c;祝你…...

C++ queue

队列用vector<int>好不好 不好 为什么&#xff1f; 因为队列是先进先出 vector没有提供头删&#xff08;效率太低&#xff09; 要强制适配也可以 就得用erase函数和begin函数了 库里面的队列是不支持vector<int>的 queue实现 #pragma once #include<vector…...

【MySQL-7】事务

目录 1. 整体学习思维导图 2. 什么是事务 2.1 事务的概念 2.2 事务的属性(ACID) 2.3 事务出现的原因 2.4 查看存储引擎对事务的支持 3. 事务的使用 3.1 事务的提交方式 3.1.1 手动提交 3.1.2 自动提交 结论&#xff1a; 3.2 事务的隔离级别 3.2.1 理解隔离 3.2.2…...

03链表+栈+队列(D1_链表(D1_基础学习))

目录 一、什么是链表 二、基本操作 三、为什么要使用链表 四、为什么能够在常数时间访问数组元素 数组优点 数组缺点 五、动态数组诞生 链表优点 链表缺点 六、链表、数组和动态数组的对比 七、 链表种类 1. 单向链表 2. 双向链表 3. 循环链表 八、链表衍生 ...…...

Git 出现 Please use your personal access token instead of the password 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 1. 问题所示 执行Git提交代码的时候,出现如下所示: lixiaosong@IT07 MINGW64 /f/java_project/JavaDemo (master) $ git push -u origin --all libpng warning: iCCP: known incorrect sRGB profile libpng warning...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...