Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
lmj01 committed May 24, 2024
1 parent 2b3d5f7 commit beda6b1
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 4 deletions.
49 changes: 49 additions & 0 deletions exercises/math.primary.md
Original file line number Diff line number Diff line change
Expand Up @@ -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等。



Expand Down
54 changes: 53 additions & 1 deletion exercises/number.theory.md
Original file line number Diff line number Diff line change
Expand Up @@ -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算法。为此需要推广同余的概念。从同余到平方剩余,从无限数域到有限域,再到椭圆曲线,同余的发展和应用反映了西方工业文明过程中的科学探索精神。

- 自然数网络
- 网络动力学
- 数论与网络
11 changes: 9 additions & 2 deletions index/book-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -51,6 +56,8 @@
- 优质代码的外部特征
- 1.3.1 为什么代码难以理解,业务概念共识是一个很重要的因素,很多问题可能都是因为没有共识,产生了认识与理解上的差异。以一种范式理解另一种范式是很容易产生的,这样的问题也会非常多。
- 1.5.2 提升复用能力的手段, ==选择合适的复用粒度==, 业务模块的复用,也有比较成熟的经验了,就是以领域为中心的设计。通过恰当的确定问题的领域边界,保持各个子域边界之间的抽象和隔离,就是典型的例子。如短信发送、地图服务、聊天消息等模块。
### [图解儿童逆反心理](https://book.douban.com/subject/20373323/)
> 了解孩子的过程,就像有些道理知道,但是去做就是另一回事儿,阅读至少加深在做这个字眼上的付出
## online

Expand Down
12 changes: 11 additions & 1 deletion web/http.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
cache mode的状态决定了浏览器的操作行为,这是httpRequest的参数决定了是否进行操作的逻辑

## header

### [Content-Disposition]()

Content-Disposition是MIME协议扩展,指示如何显示附加的文件

Content-Disposition:'attachment=filename;'。
Expand All @@ -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

Expand Down

0 comments on commit beda6b1

Please sign in to comment.