第一百四十八章 米勒拉宾素性测试(计算数论)
0.1秒记住本站域名 [ixs.cc]
点击下载小刀阅读APP

  对于一个数n,如果想要判断它是否为素数,常规的方法为试除法。即,让n依次除以2到sqrt以内的整数。如果有出现除尽的情况,则为合数。

  该方法的时间复杂度为O)在面对n为长整型的时候有可能超出时间要求。因此普遍采用米勒拉宾算法进行素性判定。

  在此之前介绍一种伪素数判定方法——小费马定理。

  但没有米勒拉宾素性测试快。

  米勒拉宾素性测试是:

  判断一个数p是否为素数

  p首先得为大于等于2的正整数才有可能为素数,

  首先判奇偶,若为偶数只有2为素数,

  若为奇数,则先求出d。

  对于每一个底a,让d不断乘以2直到为/2,

  在此过程中,

  设t为a的d次方模p的余数,

  当t=-1时跳出,声明p有可能为素数

  当t=1时,若d为奇数,跳出声明p有可能为素数,否则跳出声明p必为合数

  当d=/2时跳出,声明p必为合数。

点击下载小刀阅读APP,收录上百小说站,自动换源