#include <NTL/ZZ.h>
#include<iostream>using namespace std;
using namespace NTL;long PrimeTest(const ZZ& n, long t)
{if (n <= 1) return 0;//用2000以内的素数对n进行初筛PrimeSeq s;  // 生成一个素数数列long p;p = s.next();  // first prime is always 2while (p && p < 2000) {if ((n % p) == 0) return (n == p);p = s.next();}//Fermat法推演n的素性ZZ x;for (long i = 0; i < t; i++) {x = RandomBnd(n); // 随机数 between 0 and n-1if ((x,n)==1 && PowerMod(x,n-1,n)!=1)return 0;}return 1;
}int main()
{ZZ n;long t;cout << "请输入Fermat待检测的n: ";cin >> n;cout << "请输入Fermat检测次数t:";cin >> t;if (PrimeTest(n, t))cout << "n是素数\n";elsecout << "n是合数\n";
}

【密码学】费马小定理素性检测(C++代码实现)相关推荐

  1. 费马小定理 素性判断 蒙哥马利算法

    转载于http://blog.csdn.net/arvonzhang/article/details/8564836 1.约定 x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所 ...

  2. SICP:费马小定理与素数检测

    原帖地址:http://www.nowamagic.net/librarys/veda/detail/2329 费马小定理 关于费马小定理,读到注解的时候,还是有点震撼的. 皮埃尔•得•费马(1601 ...

  3. 密码学基础——辗转相除法,费马小定理,欧拉定理,裴蜀定理,中国剩余定理

    文章主要根据百度百科和维基百科相关相关知识点整理而成! 辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法.它的具体做法是:用较小数除较大数 ...

  4. C++实现伪大素数生成算法(费马小定理判别法、米勒拉宾素数判定法)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.伪大素数生成原理 方法一 方法二 数学基础 二.费马小定理判别法 1.算法 2.代码实现 3.运行结果 二.米勒拉宾素数 ...

  5. c语言中余数恒等于1,费马小定理_KANGMANG201102_新浪博客

    费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1 费马小 ...

  6. 判断素数(费马小定理)

    1)Sieve of Eratosthenes筛法 由于一个合数总是可以分解成若干个质数的乘积,那么如果把质数(最初只知道2是质数)的倍数都去掉,那么剩下的就是质数了.例如要查找100以内的质数,首先 ...

  7. 费尔马小定理素数java_费马小定理,我的理解

    原标题:费马小定理,我的理解 触碰标题下面一行的"邵勇老师"查看所有文章:触碰"数学教学研究", 关注本微信公众号(sx100sy). 本公众号内容均由邵勇本人 ...

  8. 欧拉定理 费马小定理

    前言 学基础数论的时候看过证明,然而很快就忘了,最近在学习高深一点的数论,于是再复习一下欧拉定理和费马小定理. 欧拉定理 内容 若正整数 \(a,n\) 互质,则 \(a^{\varphi(n)}\e ...

  9. 「欧拉定理」学习笔记(费马小定理)

    欧拉定理:对于互质的两个正整数$a, n$,满足$a^{φ(n)} ≡ 1\  (mod\ n)$ 证明: 设集合$S$包含所有$n$以内与$n$互质的数,共有$φ(n)$个:$$S = \{ x_1 ...

最新文章

  1. 【冷门实用小工具】JAVA和C#轻量级的UML图绘制工具NClass,UML类图编辑器免安装版【亲测有效】
  2. 我玩《王者荣耀》、斗地主、打麻将,但我是正经搞AI的北大教授
  3. MyBatis小问题(1)-Mapper中错误No constructor found...
  4. 比较常规治疗登记中阿巴西谱、阿达木单抗、依那西普和英夫利昔单抗治疗类风湿关节炎的疗效和起效时间...
  5. OpenCV SVM支持向量机和KNearest数字识别的实例(附完整代码)
  6. oracle 10g 白皮书,Oracle 10g标准版与企业版
  7. 发一个自己写的抓包软件,支持插件化脚本分析
  8. Tensorflow2.0 tf.function和AutoGraph模式
  9. php 计算每年春节日期,动态显示2019年农历春节倒计时—2019年1月21日23时45分
  10. 一、SecureCRT 8.0 客户端连接服务器
  11. ResultSet转换为List的方法
  12. 如何搭建个人博客或企业官网
  13. 2021全国研究生数学建模竞赛D题思路
  14. vue中下载excel文件4种方法
  15. CockroachDB改用授权BSL取代Apache 2.0
  16. 阿里云账号注册及常用产品申请
  17. java 生成pdf
  18. 《数据结构》实验报告二:顺序表 链表
  19. @EnableConfigurationProperties 注解
  20. 基于矩阵分解的CF算法实现(一):(Funk SVD)LFM

热门文章

  1. 最满意的10款PC 软件分享
  2. 【Scikit-Learn 中文文档】四十:数据集加载工具 - 用户指南 | ApacheCN
  3. python调试程序的方法_调试Python程序的四种方法
  4. 大数据共享模糊查找_120多个查找知识共享媒体的地方
  5. kubernetes集群搭建Zabbix监控平台
  6. vue中循环图片不显示问题
  7. Kafka KSQL安装
  8. 【项目设计】基于OneNet平台的心率监测系统 -嵌入式 -物联网
  9. 【Markdown编辑器实用技巧】
  10. 全网稀缺的生产级大型DDD项目实战!来了!