大力推动数字货币的背后隐藏着什么?
|
5)欧拉定理 如果两个正整数a和n互质,则n的欧拉函数φ(n)满足: aφ(n)≡1(mod n) 即a的φ(n)次方减去1,被n整除。例如,3和7互质,φ(7)=6,(36-1)/7=104。 如果正整数a与质数p互质,则因为φ(p)=p-1,所以欧拉函数可写成: ap−1≡1(mod p) 这就是著名的费马小定理(Fermat Theory)。 6)费马小定理 若m是素数,且a不是m的倍数,则am-1 mod m=1。或者,若m是素数,则ammod m=a。例如,46mod 7=4096 mod 7=1,47mod 7=16384 mod 7=4。 推论:对于互素的a和n,有aφ(n)mod n=1。 (2)素数的产生与检验 首先来介绍素数的简单判定算法。在C程序设计中,素数的判定算法为:给定一个正整数n,用2到sqrt(n)之间的所有整数去除n,如果可以整除,则n不是素数,如果不可以整除,则n是素数。这个算法的时间复杂度为O(sqrt(n)),算法描述简单,实现也不困难。但是,这个算法对于位数较大的素数判定就显得力不从心了。 目前,适用于RSA算法的最实用的素数产生办法是概率测试法。该法的思想是随机产生一个大奇数,然后测试其是否满足条件,若满足,则该大奇数可能是素数,否则,其是合数。 由于素数有无穷多个,因此判定一个整数是不是素数一直是一个大难题,威尔逊定理(Wilson's Theorem)就是其中的一种判定方法。 威尔逊定理:若正整数n>1,则n是一个素数当且仅当(n-1)! ≡ -1(mod n)。
虽然说威尔逊定理给出了素数的等价命题,但是由于阶乘的增长速度太快(如13!为60多亿),因此其实际操作价值不高。由此提出了概率检验方法。 Elixir获得两个奖项。 它的弹性,函数至上的方法和令人惊叹的生态系统使其成为构建Web API的最佳语言。 OTP和参与者模型使Elixir成为构建并发和分布式软件的最佳语言。与命令式表弟Go不同,用Elixir编写的软件可以水平扩展到数千台服务器,并且具有开箱即用的容错能力。
为什么不使用正确的工具进行工作? 尽管Elixir本身很简单,但将头缠在OTP上可能要花费一些时间,但这确实对我有用。 (12) 学习资源 作为最受欢迎的函数式编程语言,Elixir具有丰富的学习资源。关于实用程序程序员,有许多惊人的Elixir书。学习资源几乎总是对初学者非常友好。 (13) 模式匹配 Elixir具有出色的模式匹配支持。 (14) numbers运算数字 Elixir无法很好地处理计算密集型任务。对于此类任务,应选择本机编译语言(Go / Rust是不错的选择)。 (15) 好吧,和Erlang有什么关系? 出于所有意图和目的,Elixir和Erlang完全相同。Erlang是一种功能强大的语言,具有奇怪的语法。Elixir可以被认为是Erlang的一种更好,更现代的语法(以及非常好的生态系统和社区)。
(16) 结论 4.5星 (编辑:平凉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
