c语言一个偶数分成两个素数之和_程序员的数学思维修炼 -- 数据的表示,素数...

二进制,素数(RSA),递归,排列组合,余数,概率,翻番,数理逻辑,推理,几何图形,统筹规划(动态规划)

全书要解决的问题:

编程怎么能和数学扯上关系?在真正的实战中,并没有感觉到数学有多大的用途,学数学有多大的意义吗?

f1685bee1a29f7560a65856ded319430.png

数据的表示(二、八、十、十六进制)

为什么人类习惯用十进制? -- 人类就是有十根手指; 二进制太长, 十六进制运算规则更复杂。

我们都知道现在的计算机是64位字长,如果算位数的话,最大值是2**63, 如果这个要保存的数还要大于这个值,那我们又应当怎么来存储呢?

-- 可以在程序中用一个数组来表示大整数的各位(个人理解为是使用了分而治之的方法),由于数组元素的多少只受计算机内存的限制,因些,就可以处理任意长度的大整数。(不过需要注意的是,数组是要连续分配内存的一种结构,其范围受到内存设置的段长度影响)提个问题, 内存单元是多少位?

a873f682fefc994e96792116af9b376c.png

神奇的素数(除1和此整数自身外,无法被其他自然数整除的数)

素数在计算中的一个用途,就是在密码学中的利用。

素数是一类既简单又神秘的数字,由于其无分布规律的特点,所以可以在密码学中大量采用。(这难道就是传说中的不确定性?)

素数定理:1、在(a, 2a]之间必有一个素数, 2、存在任意长度的素数等差数列,等等

在密码学中一个应用:RSA原理

在计算中常用的加解密技术分为两类,对称加密与非对称加密,RSA是后者,即有公钥和私钥的存在, 那么RSA是怎么生成这两种的呢?如下操作:

193cee250cbabd379a6f41e7b9708802.png

哥德巴赫猜想:任意一个大于2的偶数都可以写成两个质数之和; (没被证明)


今天就先介绍这两个吧, 内容想想还挺多的。

想到一个问题:编程是否可以看成是数学规律在计算机中的实现?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值