POJ 3641 Pseudoprime numbers
2016-04-12 22:32
447 查看
p是素数直接输出no,然后判断a^p%p和a是否相等。
#include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<map> #include<algorithm> using namespace std; long long mod_exp(long long a, long long b, long long c) { long long res, t; res = 1 % c; t = a % c; while (b) { if (b & 1) res = res * t % c; t = t * t % c; b >>= 1; } return res; } bool prime(long long x) { for(long long i=2;i*i<=x;i++) if(x%i==0) return 0; return 1; } int main() { long long p,a; while(~scanf("%lld%lld",&p,&a)) { if(p==0&&a==0) break; if(prime(p)) printf("no\n"); else if(mod_exp(a,p,p)==a) printf("yes\n"); else printf("no\n"); } return 0; }
相关文章推荐
- 文件监控
- Linux之关键目录集锦
- Linux Command -- sed
- 不同shell文件中的函数调用
- Linux达人养成第一季
- 20135320赵瀚青LINUX第四章读书笔记
- OpenJudge(1221)——UNIMODAL PALINDROMIC DECOMPOSITIONS
- 10、linux对于文件和目录的权限管理
- 理解 Glance - 每天5分钟玩转 OpenStack(20)
- linux定时任务1-crontab命令
- Linux定时任务操作指令 - crontab
- codeproject网页翻译
- linux下编译ffmpeg
- Linux上使用Qt Creator进行C/C++开发
- [学习opencv]高斯、中值、均值、双边滤波
- linux 删除乱码文件 目录
- Hadoop学习8:hdfs文件操作
- hadoop2.6温度统计mapreduce程序
- centos6.6 安装gnome和vnc
- soa架构简单剖析