From beda6b19c2c266a7f66db0c7bb3cc61f5c41dfb1 Mon Sep 17 00:00:00 2001 From: lmj01 Date: Fri, 24 May 2024 17:17:22 +0800 Subject: [PATCH] update --- exercises/math.primary.md | 49 ++++++++++++++++++++++++++++++++++ exercises/number.theory.md | 54 +++++++++++++++++++++++++++++++++++++- index/book-info.md | 11 ++++++-- web/http.md | 12 ++++++++- 4 files changed, 122 insertions(+), 4 deletions(-) diff --git a/exercises/math.primary.md b/exercises/math.primary.md index 316ea57..f615916 100644 --- a/exercises/math.primary.md +++ b/exercises/math.primary.md @@ -47,6 +47,55 @@ $$ 所以答案是末三位数是625 +### 2024-5-24剩余定理 + +就是组合数学中的同余概念 + +中国古代的一道算术题,原载《孙子算经》,为卷下第二十六题。 + +今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二。问:物几何?答曰:二十三 + +用现代代数式表示是 + +$ x \equiv 2 \pmod 3 \equiv 3 \pmod 5 \equiv 2 \pmod 7$ + +即求同余式的整数解。 + +明代著名的大数学家程大位,在他所著的《算法统宗》中,对于这种解“孙子问题”的方法,还编出了四句歌诀,名曰《孙子歌诀》: + +“三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知”。 + +网上流传的“韩信点兵”问题(另一版本):他带1500名士兵去打仗,战死四百多。余者,3人一排,多出2人;5人一排,多出4人;7人一排,多出6人。问活着的士兵人数? + +$ x \equiv (2 \times 70 + 4 \times 21 + 6 \times 15) \pmod 105 = 104 \to 104 + 9 \times 105 = 1049$ + +可参考[数论笔记](/exercises/number.theory.md)中的关于同余定理。 + +## 组合 + +### 2024-5-24 + +一个自然数经过不同的排列,可以组成不同的多位数,例如102,共有4中不同的排列方法。 +102,120,201,210。那问有9种排列方法的4位数共有多少个呢? + +分析:采用分类方法讨论,设这4位数表示位用字母来表示 + +一、如果4位没有相同的数字,即abcd型。 +1. 如果没有数字0,共有4!=24种排列方法,不符合题意 +2. 如果有数字0,不能排在第一位,共有3 x 3!= 18种排列方法,不符合题意 + +二、存在一个相同的数字时,即aabc型。 +1. 如果没有数字0,先放置b共有4种,再放置c有三种。一共有4 x 3 = 12种,不符合题意 +1. 如果有数字0,有两种可能性 + - a是0,即bc00型,由于0不能在最左边,后面三个位置放置两个0一共有三种,剩下两个位置放置ab,有两种方法,共有2 x 3 = 6种方法,不符合题意。 + - b或c是0,即aab0型,由于0不能放在最左边,有三种方法,剩下的非a也可以放置在3个不同的地方,剩下的两个位置刚好给a,这样一共有3 x 3 = 9种类型,符合题意。 + +即现在问题是aab0型的排列组合了,a有9种选择,b有8种选择,它们排列方式有9种,一共有9 x 8 x 9 = 648四位数满足要求。 + +三、如果存在两个两两相同的数字,即aabb型,a或b一定存在一个不为0的数字,就是类型二分析的一种情况。设a不为0,在四个位置中选两个位置放置b,一共3 x 2 = 6种,不符合题意。 +四、如果是aaaa型或aaab型,排列方式都小于6,不符合题意 + +这种题型也是慢慢地分析,分类后一一判断。本题也可以拓展,9种排列改成12,6等。 diff --git a/exercises/number.theory.md b/exercises/number.theory.md index 5abd234..a0d3391 100644 --- a/exercises/number.theory.md +++ b/exercises/number.theory.md @@ -10,5 +10,57 @@ - 排列组合 ## 完全剩余系 -Complete Residue System是数论中的一个概念,指在模n的条件下从1到n-1的一个整数集合,这个集合中的每个数都与n互斥,并且这个集合包含了所有可能的模n的余数。 +Complete Residue System是数论中的一个概念,指在模n的条件下从1到n-1的一个整数集合,这个集合中的每个数都与n互斥,并且这个集合包含了所有可能的模n的余数。用数学语言描述如下 +$$ +\text{如果有一个整数集合}\{a_{1},a_{2},\cdots\cdots,a_{n-1}\}, \text{其中每个元素}a_{i}(1 \le i \le n-1). \text{满足如下条件} \newline +\text{1. } 0 \le a_{i} \le n \newline +\text{2. } a_{i} \equiv a_{1} + {i \times k} \pmod n \text{对某个整数}k \newline +\text{3. } gcd(a_{i}, n) \equiv = 1 \in all (1 \le i \le n-1) +$$ + +这样的集合就被称为模n的一个完全剩余系。如模5的情况下,集合1,2,3,4就是一个完全剩余系。它在数论中非常重要,帮助我们理解模n的算术结构。 +如拉格朗日定理指出, + +$\text{如果} gcd(a,n) \equiv 1, \text{那么a的幂在模n下会经历一个完全剩余系}$ + + + +## 中国剩余定理 + +Chinese Remainder Theorem + +- [剩余定理情未了](https://mp.weixin.qq.com/s/H1ZYmHPXXi_iwCoFdZfmGg) + +《孙子算经》与《孙子歌诀》等只能解答简单的题目,直到南宋数学家秦九韶将它推广,在《数书九章》中用大衍求一术给出了一个系统性解法。德国数学家高斯(K.F. Gauss,公元1777-1855年)于1801年出版的《算术探究》中用现代数学语言把它明确地写成一个定理。 + +同余定理: + +$\text{设整数} m_{1}, m_{2}, \cdots\cdots, m_{n} \text{两两互质,则同余方程组}$ + +$$ +\begin{cases} +x \equiv a_{1} \pmod m_{1} \newline +x \equiv a_{2} \pmod m_{2} \newline + \vdots \newline +x \equiv a_{n} \pmod m_{n} +\end{cases} +$$ + +有唯一解 + +$x = \sum_{i=1}^{n}a_{i}t_{i}M_{i} \pmod M$ + +其中 + +$M=m_{1}m_{2}\cdots m_{n}, M_{i}=\frac{M}{m_{i}}, t_{i}M_{i} \equiv 1 \pmod m_{i}$ + +$\text{定理中的}m_{i}\text{称为模数}, a_{i}\text{称为余数}, M\text{是模数的最小公倍数,而}m_{i}\text{称为衍数,即局部(除}m_{i}\text{外的)公倍数},t_{i}\text{称为乘率}, t_{i}M_{i}\equiv 1 \pmod m_{i}\text{称为求一术}$。 + +可见大衍yan求一术是将求解一组一次同余式问题简化为求解单个同余式的问题。目前解一组一次同余式最有效的是Garner算法。 + +剩余定理在科技领域中最成功的应用是实现通讯保密,如RSA算法, DLP算法,ECC算法。为此需要推广同余的概念。从同余到平方剩余,从无限数域到有限域,再到椭圆曲线,同余的发展和应用反映了西方工业文明过程中的科学探索精神。 + +- 自然数网络 +- 网络动力学 +- 数论与网络 diff --git a/index/book-info.md b/index/book-info.md index d15f5f0..a79bcb1 100644 --- a/index/book-info.md +++ b/index/book-info.md @@ -10,8 +10,13 @@ - 毛选,在读 - 符号学:原理与推演,南京大学出版社,ISBN:9787305160516, 在读 -### [图解儿童逆反心理](https://book.douban.com/subject/20373323/) -> 了解孩子的过程,就像有些道理知道,但是去做就是另一回事儿,阅读至少加深在做这个字眼上的付出 + +### [Computer Graphics Theory and Practice (Gomes, Jonas Velho, Luiz Costa Sousa, Mario 1st Edition) (Z-Library)2012](https://www.amazon.com/Computer-Graphics-Practice-Jonas-Gomes/dp/1568815808) +豆瓣上都没有找到,在Amazon找到的 + +### [上帝创造整数](https://book.douban.com/subject/30376433/) + +- 2024-5-23 关于欧几里得是我认为讲得最清晰最明白的一本书了 ### [Learn OpenGL](../books/Learn%20OpenGL.md) @@ -51,6 +56,8 @@ - 优质代码的外部特征 - 1.3.1 为什么代码难以理解,业务概念共识是一个很重要的因素,很多问题可能都是因为没有共识,产生了认识与理解上的差异。以一种范式理解另一种范式是很容易产生的,这样的问题也会非常多。 - 1.5.2 提升复用能力的手段, ==选择合适的复用粒度==, 业务模块的复用,也有比较成熟的经验了,就是以领域为中心的设计。通过恰当的确定问题的领域边界,保持各个子域边界之间的抽象和隔离,就是典型的例子。如短信发送、地图服务、聊天消息等模块。 +### [图解儿童逆反心理](https://book.douban.com/subject/20373323/) +> 了解孩子的过程,就像有些道理知道,但是去做就是另一回事儿,阅读至少加深在做这个字眼上的付出 ## online diff --git a/web/http.md b/web/http.md index ead2a39..0df649c 100644 --- a/web/http.md +++ b/web/http.md @@ -7,6 +7,9 @@ cache mode的状态决定了浏览器的操作行为,这是httpRequest的参数决定了是否进行操作的逻辑 ## header + +### [Content-Disposition]() + Content-Disposition是MIME协议扩展,指示如何显示附加的文件 Content-Disposition:'attachment=filename;'。 @@ -15,7 +18,14 @@ Response.AppendHeader("Content-Disposition","attachment;filename=FileName.txt"); attachment会以附件方式下载 阿里云的OSS有一个政策就是对这个进行了控制,导致显示不能直接在浏览器中打开 -## response +### [Referrer Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy) + +用于控制浏览器在发生跳转请求时,将当前页面的URL信息如何包含在Referrer首部字段中, + +- Referrer是 HTTP 请求的一个首部字段,它用于指示请求是从哪个页面跳转而来的。 +- Referrer Policy是一种安全策略,允许网站控制浏览器在发送请求时,是否将当前页面的 URL 信息包含在 Referrer 首部中,以及如何包含。这有助于保护用户的隐私和提高安全性。 + +要设置 Referrer Policy,您需要在服务器端配置您的网站或应用程序的 ## HTTPS