HDU 1905(Pseudoprime numbers)
来源:互联网 发布:怎样抢注域名 编辑:程序博客网 时间:2024/04/30 14:53
HDU 1905(Pseudoprime numbers)
只要读懂题意就能做了。
题意:判断在数a条件下p是否为Pseudoprime numbers:
题目约束:
a^p == a (mod p),
p不是素数
然后 isprime & 快速幂 判断
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int maxn = 1000000000;bool is_prime(long long x){ if(x == 3 || x == 2) return true; else{ for(int i = 2; i * i <= x; i++){ if(x % i == 0) return false; } return true; }}long long quickmod(long long a,long long b,long long m){ long long ans = 1; while(b) //用一个循环从右到左便利b的所有二进制位 { if(b&1) //判断此时b[i]的二进制位是否为1 { ans = (ans*a)%m; //乘到结果上,这里a是a^(2^i)%m b--; //把该为变0 } b/=2; a = a*a%m; } return ans;}int main(){ long long a, p; while(scanf("%I64d%I64d",&p,&a) != EOF && (p && a)){ if(is_prime(p)) printf("no\n"); else{ if(quickmod(a,p,p) == a) printf("yes\n"); else printf("no\n"); } } return 0;}
0 0
- hdu 1905 Pseudoprime numbers
- hdu 1905 Pseudoprime numbers
- 【HDU】 1905 Pseudoprime numbers
- HDU 1905 Pseudoprime numbers
- HDU 1905(Pseudoprime numbers)
- hdu 1905 Pseudoprime numbers 快速幂取余
- HDU 1905 Pseudoprime numbers (快速幂求余)
- 快速幂+素数 HDU 1905 Pseudoprime numbers
- HDU 1905 Pseudoprime numbers【素数】【快速幂】
- HDU 1905Pseudoprime numbers(快速幂)
- hdoj 1905 Pseudoprime numbers
- HDOJ-1905 Pseudoprime numbers
- POJ 3641 HDU 1905 Pseudoprime numbers 素数 模取幂
- 快速幂取模 素数测试 HDU 1905 Pseudoprime numbers
- 【杭电1905】Pseudoprime numbers
- Pseudoprime numbers
- Pseudoprime numbers
- Pseudoprime numbers
- java-顺序和乱序数组的二分搜索
- qt-everywhere-opensource 4.7.4 崩溃不会产生core文件
- Odoo android 端开发
- STL空间配置器源码及其分析
- ORACLE的物化视图
- HDU 1905(Pseudoprime numbers)
- 计算机网络——体系结构
- 矩阵键盘的检测
- java实现二叉树的遍历
- 欢迎使用CSDN-markdown编辑器
- Python 中的进程、线程、协程、同步、异步、回调
- x264中的cpu-a.asm
- ssh服务相关问题
- HTTP请求包文格式