数论相关

Posted mengsuenyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数论相关相关的知识,希望对你有一定的参考价值。

数论相关


质数测试

Miller-Rabin随机质数测试算法

Rust实现

记有一个待测试奇自然数a, 及测试总轮数s. Miller-Rabin算法有如下定理:

  • 如果n是一个奇合数, 那么测试n为合数的证据的数据至少为((n-1)/2);
  • 对于任意(a gt 2)的奇数和正整数s, Miller-Rabin出错的概率至多为(2^{-s});

[egin{aligned} & // 测试一个数是否是合数 & WITNESS(a, n) & quad n-1 = 2^{t}*u, a \% 2=1& quad x_0 = a^{u} \% n & quad for i in 1..=t & quad quad x_i = x_{i-1}^{2} \% n & quad quad if x_i = 1 AndAnd x_{i-1} e 1 AndAnd x_{i-1} e n-1& quad quad quad return true& quad quad end & quad end& quad & quad if x_t e 1& quad quad return true& quad end& quad return false& end & quad & quad & // 测试奇自然数n是质数还是合数 & MILLER-RABIN(n,s)& quad for j in 0..s& quad quad a=RANDOM(1,n)& quad quad if WITNESS(a,n) & quad quad quad return COMPOSITE & quad quad end& quad return PRIME& end \end{aligned} ]

参考资料


以上是关于数论相关的主要内容,如果未能解决你的问题,请参考以下文章

数论函数相关知识

数论相关

数论函数相关的博客整理

数论函数相关

LeetCode数论题目总结

数论公式总结