【题目大意】

若n是素数,输出“Prime”,否则输出n的最小素因子,(n<=2^54)

【题解】

和bzoj3667差不多,知识这道题没那么坑。

直接上Pollord_Rho和Rabin_Miller就行了。

 /*************
POJ 1811
by chty
2016.11.7
*************/
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
const ll INF=1000000000000000000LL;
const ll prime[]={,,,,,,,,};
ll T,minn;
inline ll read()
{
ll x=,f=; char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-; ch=getchar();}
while(isdigit(ch)) {x=x*+ch-''; ch=getchar();}
return x*f;
}
ll gcd(ll a,ll b) {return !b?a:gcd(b,a%b);}
ll mul(ll x,ll y,ll mod) {return ((x*y-(ll)(((long double)x*y+0.5)/mod)*mod)%mod+mod)%mod;}
ll fast(ll a,ll b,ll mod) {ll sum=;for(;b;b>>=,a=mul(a,a,mod))if(b&)sum=mul(sum,a,mod);return sum;}
bool Rabin_Miller(ll p,ll a)
{
if(p==) return ;
if(!(p&)||p==) return ;
ll d=p-;
while(!(d&)) d>>=;
ll m=fast(a,d,p);
if(m==) return ;
for(;d<p;d<<=,m=mul(m,m,p)) if(m==p-) return ;
return ;
}
bool isprime(ll x)
{
for(ll i=;i<;i++)
{
if(prime[i]==x) return ;
if(!Rabin_Miller(x,prime[i])) return ;
}
return ;
}
void Pollord_Rho(ll x)
{
if(isprime(x)) {minn=min(minn,x); return;}
ll c=;
while()
{
ll x1(),x2(),i(),k();
while()
{
x1=(mul(x1,x1,x)+c)%x;
ll d=gcd(x1>x2?x1-x2:x2-x1,x);
if(d>&&d<x)
{
Pollord_Rho(d);
Pollord_Rho(x/d);
return;
}
if(x1==x2) break;
if(++i==k) x2=x1,k<<=;
}
c++;
}
}
void solve(ll x)
{
if(isprime(x)) {puts("Prime"); return;}
minn=INF;
Pollord_Rho(x);
printf("%lld\n",minn);
}
int main()
{
freopen("cin.in","r",stdin);
freopen("cout.out","w",stdout);
T=read();
while(T--){ll x=read();solve(x);}
return ;
}

【POJ1811】Prime Test的更多相关文章

  1. 【CF912E】Prime Game(meet in the middle)

    [CF912E]Prime Game(meet in the middle) 题面 CF 懒得翻译了. 题解 一眼题. \(meet\ in\ the\ middle\)分别爆算所有可行的两组质数,然 ...

  2. 【POJ1811】【miller_rabin + pollard rho + 快速乘】Prime Test

    Description Given a big integer number, you are required to find out whether it's a prime number. In ...

  3. 【数论】Prime Time UVA - 10200 大素数 Miller Robin 模板

    题意:验证1~10000 的数 n^n+n+41 中素数的个数.每个询问给出a,b  求区间[a,b]中质数出现的比例,保留两位 题解:质数会爆到1e8 所以用miller robin , 另外一个优 ...

  4. 【Poj3126】【BNUOJ3245】Prime Path

    http://poj.org/problem?id=3126 https://www.bnuoj.com/v3/problem_show.php?pid=3245 题目鬼图 刚开始看到题目的图觉得这题 ...

  5. 【XSY2719】prime 莫比乌斯反演

    题目描述 设\(f(i)\)为\(i\)的不同的质因子个数,求\(\sum_{i=1}^n2^{f(i)}\) \(n\leq{10}^{12}\) 题解 考虑\(2^{f(i)}\)的意义:有\(f ...

  6. 【UVA10140】Prime Distance

    题目大意:求出一个给定区间 [l, r] 内相邻素数之间的最大距离和最小距离. 题解:由于 l, r 的范围太大,没法直接用筛法得出区间的素数.考虑筛出区间的素数等价于筛掉区间内的所有和数, 根据算术 ...

  7. 【搜索】 Prime Path

    #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include& ...

  8. 【CodeChef】Prime Distance On Tree

    vjudge 给定一棵边长都是\(1\)的树,求有多少条路径长度为质数 树上路径自然是点分治去搞,但是发现要求是长度为质数,总不能对每一个质数都判断一遍吧 自然是不行的,这个东西显然是一个卷积,我们合 ...

  9. 【arc080F】Prime Flip

    Portal --> arc080_f Solution ​  这题的话..差分套路题(算吗?反正就是想到差分就很好想了qwq) ​​  (但是问题就是我不会这种套路啊qwq题解原话是:&quo ...

随机推荐

  1. WPF实现Twitter按钮效果(转)

    最近上网看到这个CSS3实现的Twitter按钮,感觉很漂亮,于是想用WPF来实现下. 实现这个效果,参考了CSS3 原文地址:http://www.html5tricks.com/css3-twit ...

  2. Python 3 利用 Dlib 和 sklearn 人脸笑脸检测机器学习建模

    0. 引言 利用机器学习的方法训练微笑检测模型,输入一张人脸照片,判断是否微笑: 精度在 95% 左右( 使用的数据集中 69 张没笑脸,65 张有笑脸 ): 图1 测试图像与检测结果 项目实现的笑脸 ...

  3. Ubuntu 破解密码及用户管理

    Ubuntu 破解密码及用户管理 ubuntu 16.04 破解密码 useradd 实现以下要求 1.ubuntu16.04破解密码 2.创建下面的用户.组和组成员关系 名字为xipudata 的组 ...

  4. 面试常考知识点——Java(JVM,JDK,JRE)

    1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 答:(1)Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. ...

  5. C#操作mysql数据库,往mysql读取或者写入数据

    最近在开发的一个项目,需要将数据存贮在mysql数据库中,于是需要写一个操作mysql的帮助类,我采用的是官方的,还是先给出一个链接,后面有时间的话,继续更新. http://blog.csdn.ne ...

  6. MOSS 2013研究系列---Win2008R2 建立域控时候,报密码不符合要求解决办法

    今天远程给Win2008R2装AD域控的时候,突然报如下的错误页面: 修改了密码,将密码强度设置复杂了,但是,仍然会弹出这个错误页面,估计是因为远程账号的关系,于是再网上搜下了一下,找到了一个解决方案 ...

  7. JAVASE02-Unit012: Unit07: XML语法 、 XML解析

    Unit07: XML语法 . XML解析 emplist.xml <?xml version="1.0" encoding="UTF-8"?> & ...

  8. windows下搭建nginx-rtmp服务器

    windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载n ...

  9. nginx web服务器应用

    Nginx介绍 Nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件,因具有高并发(特别是静态资源),占用系统资源少等特性,且功能丰富而逐渐流行起来.功能应用上,Nginx不但是一个优 ...

  10. 卷积神经网络之VGG网络模型学习

    VGG:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 牛津大学 visual geometry group(VG ...