程序员的数学系列(一)

程序员的数学系列阅读笔记,第一部分介绍数学基础,还有一些有趣的数学问题

第1章 0的故事

无即是有,zero matters

10进制

2503

2 × 1 0 3 + 5 × 1 0 2 + 0 × 1 0 1 + 3 × 1 0 0 2_{\times10^3}+5_{\times10^2}+0_{\times10^1}+3_{\times10^0} 2×103+5×102+0×101+3×100

2进制

1100

1 × 2 3 + 1 × 2 2 + 0 × 2 1 + 0 × 2 0 1_{\times2^3}+1_{\times2^2}+0_{\times2^1}+0_{\times2^0} 1×23+1×22+0×21+0×20

基数转换

  • 2进制表示12
    这里写图片描述
    计算机计算过程: ( 21 + 19 ) → 转 换 为 2 进 制 ( 10101 + 10011 ) → 使 用 2 进 制 计 算 ( 101000 ) → 转 换 为 10 进 制 ( 40 ) (21+19)\xrightarrow{转换为2进制}(10101+10011)\xrightarrow{使用2进制计算}(101000)\xrightarrow{转换为10进制}(40) (21+19)2 (10101+10011)使2 (101000)10 (40)

指数法则

1 0 3 → 1 10 1 0 2 → 1 10 1 0 1 → 1 10 1 0 0 = 1 10^3\xrightarrow{\frac{1}{10}}10^2\xrightarrow{\frac{1}{10}}10^1\xrightarrow{\frac{1}{10}}10^0=1 103101 102101 101101 100=1

2 5 → 1 2 2 4 → 1 10 2 3 → 1 2 2 2 → 1 2 2 1 → 1 2 2 0 → 1 2 2 − 1 = 1 2 2^5\xrightarrow{\frac{1}{2}}2^4\xrightarrow{\frac{1}{10}}2^3\xrightarrow{\frac{1}{2}}2^2\xrightarrow{\frac{1}{2}}2^1\xrightarrow{\frac{1}{2}}2^0\xrightarrow{\frac{1}{2}}2^{-1}=\frac{1}{2} 2521 24101 2321 2221 2121 2021 21=21

指数法则

N a × N b = N a + b ( N ≠ 0 ) N^a\times\N^b=N^{a+b}(N\neq0) Na×Nb=Na+b(N=0)

0所起的作用

  • 占位

    2503, 表示10位什么都没有

  • 统一标准,简化规则

    按位计数就可统一写为

    a k × 1 0 k a_k\times10^k ak×10k

    n = 3 , a 3 = 2 , a 2 = 5 , a 1 = 0 , a 0 = 3 → 2503 n=3,a_3=2,a_2=5,a_1=0,a_0=3\rightarrow2503 n=3,a3=2,a2=5,a1=0,a0=32503

  • 0表示没有

    有规律地服用一种胶囊,每4天停用一次。也就是3天服用,1天停用。于是每4粒胶囊中有1粒是“没有药效”的假胶囊,放入标有日期的盒子并放入每天需要服用的药,以后就只用每天服用。

第2章 逻辑

真与假的二元世界

逻辑是消除歧义得工具

兼顾完整性和排他性

没有遗漏,没有重复

逻辑非

A A A ¬ A \neg A ¬A
truefalse
falsetrue

双重否定表肯定

A A A ¬ A \neg A ¬A ¬ ¬ A \neg\neg A ¬¬A
truefalsetrue
falsetruefalse

逻辑与

A ∧ B ( A a n d B ) A\land B(A\quad and \quad B) AB(AandB)

真值表

A A A B B B A ∧ B A\land B AB
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

文氏图

02

文氏图表示 ¬ ( A ∧ B ) \neg(A\land B) ¬(AB)

03

逻辑或

A ∨ B ( A o r B ) A\lor B(A\quad or\quad B) AB(AorB)

真值表

A A A B B B A ∨ B A\lor B AB
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

文氏图

文氏图表示 ( ¬ A ) ∨ ( ¬ B ) (\neg A)\lor(\neg B) (¬A)(¬B)
这里写图片描述

异或

A ⊕ B A\oplus B AB
真值表

A A A B B B A ∨ B A\lor B AB
truetruefalse
truefalsetrue
falsetruetrue
falsefalsefalse

文氏图

相等

A = B A=B A=B
真值表

A A A B B B A = B A=B A=B
truetruetrue
truefalsefalse
falsetruefalse
falsefalsetrue

文氏图

¬ ( A ⊕ B ) → ( A = B ) \neg(A\oplus B)\rightarrow(A=B) ¬(AB)(A=B)

蕴含—若A则B

A    ⟹    B A\implies B AB
真值表

A A A B B B A    ⟹    B A\implies B AB
truetruetrue
truefalsefalse
falsetruetrue
falsefalsetrue

A为true时,仅当B为false时 A    ⟹    B A\implies B AB才为false
A为false时, A    ⟹    B A\implies B AB恒为true

此为逻辑上“如果”的定义

我们平时说的“若A则B”有两种情况

  1. 若A为true,则B也为true。若A为false,则B也为false
  2. 若A为true,则B也为true。但是,若A为false时,则B为true/false都可以(对B没有任何影响)

在逻辑上二者的区别在于,1是 A = B A=B A=B,2是 A    ⟹    B A\implies B AB

文氏图, ( ¬ A ) ∨ B (\neg A)\lor B (¬A)B的文氏图也是这样,于是 ( ¬ A ∨ B )    ⟺    ( A    ⟹    B ) (\neg A\lor B)\iff (A\implies B) (¬AB)(AB),二者等价

B    ⟹    A B\implies A BA A    ⟹    B A\implies B AB的逆命题,逆命题不一定为真

( ¬ B )    ⟹    ( ¬ A ) (\neg B)\implies(\neg A) (¬B)(¬A)的文氏图也和 A    ⟹    B A\implies B AB的相同(二者等价),即, ( ( ¬ B )    ⟹    ( ¬ A ) )    ⟺    ( A    ⟹    B ) ((\neg B)\implies(\neg A))\iff(A\implies B) ((¬B)(¬A))(AB)
此为 A    ⟹    B A\implies B AB的逆否命题

德·摩根定律

( ¬ A ) ∨ ( ¬ B ) = ¬ ( A ∧ B ) (\neg A)\lor(\neg B)=\neg(A\land B) (¬A)(¬B)=¬(AB)

( ¬ A ) ∧ ( ¬ B ) = ¬ ( A ∨ B ) (\neg A)\land(\neg B)=\neg(A\lor B) (¬A)(¬B)=¬(AB)

三值逻辑的德·摩根定律

( ! A ) ∨ ( ! B ) = ! ( A ∧ B ) (!A)\lor(!B)=!(A\land B) (!A)(!B)=!(AB)
( ! A ) ∧ ( ! B ) = ! ( A ∨ B ) (!A)\land(!B)=!(A\lor B) (!A)(!B)=!(AB)

if (!(x >= 0 && y >= 0)) {
    .....
}
// equal to
if (x < 0 || y < 0) {
    ....
}

本章小结

逻辑的各种表现形式

if语句将世界一分为二,条件成立的世界和条件不成立的世界

第3章 余数

周期性和分组

星期数问题

今天是星期日,100天后是星期几?

1亿天呢?

1 0 100 10^{100} 10100天后呢?

100 ÷ 7 = 14...2 100\div7=14...2 100÷7=14...2

因此100天后是星期二

1 0 8 ÷ 7 = 14285714...2 10^{8}\div7=14285714...2 108÷7=14285714...2

因此1亿天后是星期二

0的个数数字除以7的余数星期数
011
1103
21002
310006
4100004
51000005
610000001
7100000003
81000000002
910000000006
10100000000004
111000000000005
1210000000000001

余数以1、3、2、6、4、5···的顺序循环

100 ÷ 6 = 16...4 100\div6=16...4 100÷6=16...4

余数为4,因此 1 0 100 10^{100} 10100天后是星期四

直观地把握规律

第n天是星期几

1 0 n 10^n 10n天是星期几

乘方得思考题

123456 7 987654321 1234567^{987654321} 1234567987654321的个位数是什么

试算:

123456 7 0 1234567^0 12345670的个位数= 7 0 7^0 70的个位=1

123456 7 1 1234567^1 12345671的个位数= 7 1 7^1 71的个位=7

123456 7 2 1234567^2 12345672的个位数= 7 2 7^2 72的个位=9

123456 7 3 1234567^3 12345673的个位数= 7 3 7^3 73的个位=3

123456 7 4 1234567^4 12345674的个位数= 7 4 7^4 74的个位=1

123456 7 5 1234567^5 12345675的个位数= 7 5 7^5 75的个位=7

123456 7 6 1234567^6 12345676的个位数= 7 6 7^6 76的个位=9

123456 7 7 1234567^7 12345677的个位数= 7 7 7^7 77的个位=3

123456 7 8 1234567^8 12345678的个位数= 7 8 7^8 78的个位=1

123456 7 9 1234567^9 12345679的个位数= 7 9 7^9 79的个位=7

周期为4,用987654321对4取余0、1、2、3其中之一,它们分别对应1、7、9、3

余1,所以个位数是7

黑白棋通信

  1. 桌面随机7枚黑白棋棋子,魔术师蒙着眼睛,看不到棋子
    014
  2. 魔术师徒弟看完7枚棋子后,又放进一枚,这时桌面有8枚棋子
    015
  3. 观众可以选择翻转一枚或者不翻转任何棋子,此时观众和徒弟都不能说话
  4. 魔术师观察8枚棋子,马上就能判断观众是不是翻转了棋子
    016
  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
《统计思维 程序员数学之概率统计 第2版PDF》是一本有关统计思维和概率统计的书籍的PDF版本。统计思维是一种学习和分析数据的方法论,它帮助我们了解和解释数据中的趋势和规律。程序员数学是指程序员在编程过程中所需要的数学知识。 这本第2版的书籍对统计思维和概率统计的概念进行了详细的介绍和解释。它帮助读者了解概率统计的基本概念,如概率、随机变量、概率分布等,以及如何利用统计方法对数据进行分析和预测。此外,书中还介绍了一些统计学的基本原理和假设,如假设检验、置信区间等。 对于程序员来说,理解概率统计是非常重要的。在编程中,我们经常需要处理和分析大量的数据,因此掌握概率统计的知识可以帮助我们更好地理解和处理数据。通过使用统计方法,我们可以找到数据中的模式和趋势,从而改进我们的程序和算法。 这本书是以程序员的角度来介绍统计思维和概率统计的,因此对于具有编程背景的读者来说是非常有帮助的。它使用简洁明了的语言和示例来解释概念和方法,同时还提供了一些实际案例和练习题,帮助读者更好地理解和应用所学知识。 总的来说,《统计思维 程序员数学之概率统计 第2版PDF》是一本适合程序员学习和应用概率统计的书籍,它提供了深入浅出的解释和实践案例,帮助读者掌握统计思维和概率统计的基本概念和方法。如果你是一个程序员,并且对统计学感兴趣,那么这本书是值得推荐的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值