POJ 3641 Pseudoprime numbers(快速幂+素数)
2016-03-19 18:27
405 查看
题目链接:http://poj.org/problem?id=3641
题意:给出a,p,如果p是素数且 ap = a (mod p)即a的p次方对p取模余数为a,输出"yes",否则输出"no".
题解:快速幂+判断素数。
代码:
题意:给出a,p,如果p是素数且 ap = a (mod p)即a的p次方对p取模余数为a,输出"yes",否则输出"no".
题解:快速幂+判断素数。
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; bool isprime(int n) { bool flag=true; for(int i=2;i*i<n;i++) { if(n%i==0) { flag=false; break; } } return flag; } LL POW(LL x,LL n,LL mod) { LL res=1; while(n>0) { if(n&1) res=res*x%mod; x=x*x%mod; n>>=1; } return res; } int main() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int p,a; while(scanf("%d%d",&p,&a)) { if(p==0&&a==0) break; if(POW(a,p,p)==a&&!isprime(p)) { printf("yes\n"); } else printf("no\n"); } return 0; }
相关文章推荐
- Linux内核分析——第一章 Linux内核简介
- linux内核设计与实现一书阅读整理 之第一二章整合
- 制作基于centos7的mysql的docker镜像
- 00docker安装和简介
- linux驱动程序设计的硬件基础,王明学learn
- OpenCV Mat和IplImage比较以及相互转换
- 2016-3-19日小结:scrollTop
- Linux内核分析——扒开系统调用的三层皮(上)
- Linux kvm安装
- Linux下安装Python-3.3.2【转】
- 20135239 益西拉姆 linux内核分析 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- Linux JDK安装及配置 (tar.gz版)
- openwrt 显示当前时间及更改时区
- vmware中centOs系统安装vmware tools
- 内存管理范围和@property
- solr5.3+tomcat-7.0.65+IKAnalyzer分词
- 英语歌曲:Can't Stop Love
- linux制作补丁包和打补丁——patch命令简记
- Linux内核分析——系统调用(上)
- 自动化运维集中式管理工具saltstack的基于各个平台的部署