思路:

N=P*Q

求出来P和Q 模拟就好…

//By SiriusRen
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
ll shai[10]={2,3,5,7,11,13,17,19,21,23};
ll mul(ll x,ll y,ll mod){
x%=mod;ll res=0;
while(y){
if(y&1)res=(x+res)%mod;
(x<<=1)%=mod,y>>=1;
}return res;
}
ll pow(ll x,ll y,ll mod){
x%=mod;ll res=1;
while(y){
if(y&1)res=mul(res,x,mod);
x=mul(x,x,mod),y>>=1;
}return res;
}
bool check(ll a,ll n,ll r,int s){
ll x=pow(a,r,n),pre=x;
for(int i=1;i<=s;i++){
x=mul(x,x,n);
if(x==1&&pre!=1&&pre!=n-1)return 0;
pre=x;
}return x==1;
}
bool miller_rabin(ll x){
if(x<=1)return 0;
ll r=x-1;int s=0;
while(!(r&1))r>>=1,s++;
for(int i=0;i<10;i++){
if(x==shai[i])return 1;
if(!check(shai[i],x,r,s))return 0;
}return 1;
}
ll gcd(ll x,ll y){return y?gcd(y,x%y):x;}
ll prime_factor(ll n,ll c){
ll k=2,x=rand()%n,y=x,p=1;
for(int i=1;p==1;i++){
x=(mul(x,x,n)+c)%n;
p=gcd(abs(x-y),n);
if(i==k)y=x,k<<=1;
}return p;
}
ll P,Q,R,E,N,C,X,Y;
void pollard_rho(ll x){
if(x==1)return;
if(miller_rabin(x)){P=x;return;}
ll p=x;
while(p==x)p=prime_factor(x,rand()%(x-1));
pollard_rho(p),pollard_rho(x/p);
}
ll exgcd(ll a,ll b,ll &x,ll &y){
if(!b)x=1,y=0;
else exgcd(b,a%b,y,x),y-=x*(a/b);
}
int main(){
scanf("%lld%lld%lld",&E,&N,&C);
pollard_rho(N),Q=N/P,R=(P-1)*(Q-1);
exgcd(E,R,X,Y),X=(X+R)%R;
printf("%lld %lld\n",X,pow(C,X,N));
}

最新文章

  1. bzoj4726【POI2017】Sabota?
  2. 前端页面div float 后高度 height 自适应的问题
  3. 字符串-06. IP地址转换(20)
  4. 【noi openjudge题解】最低通行费
  5. OpenCV——PS 滤镜, 浮雕效果
  6. 手把手教你创建「人物角色Persona」
  7. [tensorflow]图像处理相关模块的安装(python3中PIL)
  8. 洛谷P1897电梯里的爱情题解
  9. Linux7系列阅读
  10. Leetcode 117
  11. 命令提示符操作及Java的特点
  12. Hadoop HBase概念学习系列之RowKey设计(二十九)
  13. linux一切皆文件之文件描述符(一)
  14. FourAndSix: 2.01靶机入侵
  15. [Selenium] 针对下拉菜单出现之后又立马消失的问题,通过Javascript改变元素的可见属性
  16. HDU 5292 Pocket Cube 结论题
  17. 【转】虚拟串口VSPM解决串口编程问题
  18. centos7 多版本python并存问题
  19. C# 中从程序中下载Excel模板
  20. MATLAB01

热门文章

  1. VM虚拟机NAT模式主机与虚拟机ping不通解决方案
  2. ndk编译curl以及使用
  3. Redis 四:存储类型之散列类型
  4. Windows环境下制作MACOS X U盘安装盘
  5. 网络是通的 yum用不了
  6. 训练1-Z
  7. WebService学习总结(6)——WebService常用接口
  8. LightOJ1214 Large Division
  9. 在WPF的MVVM框架中获取下拉选择列表中的选中项
  10. oracle实现查询每个部门的员工工资排在前三的员工的基本信息具体举例