当前位置: 首页 > 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...

基于MATLAB的数字图像处理系统:预处理、特征提取与语义分割全流程实现

数字图像处理系统&#xff08;基于matlab&#xff09; 此系统包括预处理&#xff0c;特征提取&#xff0c;语义分割 使用机器学习算法knn和svm 预处理包括线性灰度级变化&#xff0c;指数灰度级变化&#xff0c;直方图均衡化&#xff0c;高斯滤波&#xff0c;中值滤波&#xff…...

嵌入式开源软件应用的五项关键实践

嵌入式开源软件应用的五项关键实践1. 开源软件在嵌入式系统中的价值与挑战开源软件已成为现代嵌入式系统开发的重要组成部分。通过合理利用开源组件&#xff0c;开发团队可以显著缩短开发周期&#xff0c;降低研发成本&#xff0c;同时获得经过社区验证的可靠解决方案。然而&am…...

开源条码字体技术:如何通过字体文件彻底改变条码生成方式

开源条码字体技术&#xff1a;如何通过字体文件彻底改变条码生成方式 【免费下载链接】librebarcode Libre Barcode: barcode fonts for various barcode standards. 项目地址: https://gitcode.com/gh_mirrors/li/librebarcode 条码生成技术长期以来依赖专业软件和专用…...

保姆级教程:MogFace人脸检测模型-large快速上手,无需代码轻松体验

保姆级教程&#xff1a;MogFace人脸检测模型-large快速上手&#xff0c;无需代码轻松体验 1. 认识MogFace人脸检测模型 1.1 什么是MogFace MogFace是目前最先进的人脸检测方法之一&#xff0c;在Wider Face六项榜单上长期保持领先地位。这个模型通过三个创新点显著提升了检测…...

新手福音:利用快马平台生成你的第一个数学公式编辑器入门项目

最近在自学前端开发&#xff0c;一直想尝试做个数学公式编辑器来练手。作为一个完全的新手&#xff0c;从零开始写这种项目确实有点无从下手。不过我发现用InsCode(快马)平台可以很轻松地生成基础代码框架&#xff0c;再根据自己的需求调整完善&#xff0c;特别适合像我这样的初…...

Win32下用libigl+GLFW3渲染3D模型的完整配置指南(附常见错误排查)

Win32下用libiglGLFW3渲染3D模型的完整配置指南&#xff08;附常见错误排查&#xff09; 在Windows平台进行3D图形开发时&#xff0c;libigl与GLFW3的组合为开发者提供了强大的工具集。libigl作为一个轻量级的C几何处理库&#xff0c;与GLFW3这一跨平台的OpenGL窗口管理库结合…...

antd vue表单实战:getFieldDecorator、getFieldValue、setFieldValue保姆级教程

Ant Design Vue 表单开发深度指南&#xff1a;数据绑定与动态操作实战 在当今前端开发领域&#xff0c;表单处理一直是构建交互式应用的核心挑战之一。Ant Design Vue 作为企业级 UI 设计语言和 React 实现&#xff0c;提供了一套强大而灵活的表单解决方案&#xff0c;特别适合…...

大模型应用开发:从Demo到生产,小白程序员必看!收藏这份实战指南

本文深入剖析了将大模型应用从原型阶段推向生产环境所面临的关键挑战&#xff0c;涵盖数据处理&#xff08;格式多样性、切块策略、数据更新&#xff09;、检索质量&#xff08;找不到、找不准、找太多&#xff09;、生成阶段&#xff08;幻觉、引用溯源&#xff09;、规模化工…...

通用多模态检索——大模型微调

1、7B的模型&#xff0c;参数量就占到了16G&#xff0c;而且你要检索&#xff0c;要把所有的候选项candidate全部变成向量嵌入&#xff0c;然后计算相似度&#xff0c;3090的24G显存很容易爆&#xff0c;而且数据量一旦大了一点&#xff0c;达到几万&#xff0c;基本就很难跑通…...

四自由度车辆与简支梁桥车桥耦合振动的Matlab实现

车桥耦合振动程序 matlab编程 四自由度车辆与简支梁桥车桥耦合 可提取车体垂直及转动加速度响应以及车轮响应 在交通工程领域&#xff0c;车桥耦合振动的研究对于保障桥梁结构安全以及行车舒适性至关重要。今天咱们就来讲讲如何用Matlab实现四自由度车辆与简支梁桥的车桥耦合振…...