HDU 1905 Pseudoprime numbers
来源:互联网 发布:linux如何安装eclipse 编辑:程序博客网 时间:2024/05/18 00:45
根据费马定理 当p为素数 a>1时 有(a^p)%p==a%p
有少部分非素数 对a也能满足该公式 这些素数称为a的伪素数 问给定的p和a p是不是a的伪素数
快速幂问题
注意p<10^9 可能爆掉int
#include<iostream>#include<cstdlib>#include<cstdio>#include<string>#include<vector>#include<deque>#include<queue>#include<algorithm>#include<set>#include<map>#include<stack>#include<ctime>#include<cmath>#include<list>#include<cstring>//#include<memory.h>using namespace std;#define ll long long#define ull unsigned long long#define pii pair<int,int>#define INF 1000000007#define pll pair<ll,ll>#define pid pair<int,double>#define sci(a) scanf("%d",&a)#define scd(a) scanf("%lf",&a)#define scs(a) scanf("%s",a)#define pri(a) printf("%d\n",a);#define prd4(a) printf("%.4lf\n",a);#define prs(a) printf("%s\n",a);bool isprime(int n){//判断n是否为素数 int end=sqrt(n+1); for(int i=2;i<=end;++i) if(n%i==0) return false; return true;}int fast_pow(int a,int n,int mod){//快速幂 int res=1; while(n){ if(n&1) res=((ll)res*a)%mod;//强制类型转换 防止爆掉 a=((ll)a*a)%mod; n>>=1; } return res;}int main(){ //freopen("/home/lu/文档/r.txt","r",stdin); //freopen("/home/lu/文档/w.txt","w",stdout); int p,a; while(scanf("%d%d",&p,&a),a+p) prs((!isprime(p)&&fast_pow(a,p,p)==a%p)?"yes":"no"); 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
- 车辆牌照字符识别——matlab
- 根据递推公式构造系数矩阵用于快速幂
- The Grammer of Graphics 读书笔记 - How To Make a Pie
- Xcode:SVN使用
- 长相思 中学,距中考六十八天作
- HDU 1905 Pseudoprime numbers
- Android应用程序启动过程源代码分析
- 动态规划专题——2 最大子序列
- Policies/Binary Compatibility Issues With C++
- linux下CPU使用率与机器负载的关系与区别
- HttpClient使用详解
- GIT的简单使用
- Android数据存取技术概览听课笔记
- dp+tire+Monotone queue