欧拉函数。

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAXSIZE 100003
#define N 100003
using namespace std; long long prime[];
long long flag[];
long long cn; void sushu()
{
memset(flag,,sizeof(flag));
cn=;
long long i,j;
for (i=;i<MAXSIZE+;i++)
{
if(!flag[i])
prime[cn++]=i;
for(j=;(j<cn)&&(prime[j]*i<MAXSIZE+);j++)
{
flag[i*prime[j]]=;
} }
}
long long fast(long long a,long long p,long long m)
{
long long r,k;
if(p==)
return %m;
else if(p==)
return a%m;
r=a%m;
k=;
while(p>)
{
if((p&)!=)
k=(k*r)%m;
r=(r*r)%m;
p>>=;
}
return (r*k)%m;
}
long long fac(long long m)
{
long long i,res=;
for(i=m;i>=;i--)
res*=i;
return res;
}
long long ola(long long n)
{
long long i,n1=n;
long long res=n;
for(i=;(i<cn)&&prime[i]*prime[i]<=n;i++)
{
if(n%prime[i]==)
{
res=res/prime[i]*(prime[i]-);
while(n1%prime[i]==)
n1/=prime[i];
}
}
if(n1!=)
res=res/n1*(n1-);
return res;
}
long long solve(long long a,long long m)
{
if(m==)
return ;
else
{
long long tmp=ola(m); //phi[m]; //euler(m);
return fast(a,tmp,m)*fast(a,solve(a,tmp),m);
}
} int main()
{
long long m,m1;
long long p;
sushu();
bool tag=false;
while(scanf("%lld%lld",&p,&m1)!=EOF)
{
if(tag)
{
puts("");
}
else tag=true;
m=fac(m1);
printf("%lld\n",solve(p,m)%m);
}
return ;
}

ZOJ 2674 Strange Limit的更多相关文章

  1. ZOJ 3332 Strange Country II

    Strange Country II Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge You want to v ...

  2. zoj 2176 Speed Limit

    Speed Limit Time Limit: 2 Seconds      Memory Limit: 65536 KB Bill and Ted are taking a road trip. B ...

  3. ZOJ 3332 Strange Country II (竞赛图构造哈密顿通路)

    链接:http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3332 本文链接:http://www.cnblogs.com/Ash-l ...

  4. ZOJ - 3265: Strange Game (优化 二分图匹配)

    pro:有一个长度为N的数组a[i],要求选择k[i]>0,使得b[i]=a[i]^k[i]%M中出现的不同数最多.N<=200, M<=1e9: sol:a^x%p的个数的有限的, ...

  5. ZOJ问题(坑死了)

    ZOJ问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  6. ZOJ问题--hdu3788

    ZOJ问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. HDU 3788 和九度OJ 1006测试数据是不一样的

    ZOJ问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. 开源评测系统hustoj-代码解读

    非常感谢zhblue贡献了这么美丽的代码 为了开发适合自己学校的oj,努力研读代码中,不断的百度,调试,测试 对ubutun,linux的各种文件系统,进程系统,c编程都学习了不少 给大家分享下,希望 ...

  9. ZOJ 3430 Detect the Virus

    传送门: Detect the Virus                                                                                ...

随机推荐

  1. 利用PBFunc在Powerbuilder中解析Json对象

    利用PBFunc工具在Powerbuilder解析json,只需要调用getattribute方法来获取 解析unicode格式的json: n_pbfunc_json lnv_json lnv_js ...

  2. elasticsearch分词插件的安装

    IK简介 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源项目Luen ...

  3. seajs快速了解

    详情请点击原文     SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制.与jQuery等JavaScript框架不同,S ...

  4. WCF概念

    WCF 概念 WCF是.NET Framework 上灵活通讯技术.在.NET 3.0推出之前,一个企业解决方案需要几种通讯方式.对于独立于平台的通讯,使用ASP.NET Web服务.对于比较高级的 ...

  5. Microsoft Dynamics 2013 --Social Pane

    Microsoft Dynamics 2013 有一个新的东西--Social Pane (图1) 进入窗体设置,发现改选项卡的详细设置如下 (图2) Tab键的选项有3种[活动][公告][注释],若 ...

  6. 转:NLog之:文件类型目标(File target)

    转:http://www.cnblogs.com/RitchieChen/archive/2012/07/16/2594308.html 英文原文[http://nlog-project.org/wi ...

  7. Python数据结构与算法--数据类型

    从数据类型开始 Python支持面向对象的编程范式,这意味着Python把数据看成解决问题的关键. 在Python中,类似其他的面向对象的编程语言, 我们定义一个类,用来描述数据是什么 (状态) 和数 ...

  8. python 格式化字符串的三种方法

    1)%格式化方法 >>> a = "this is %s %s" % ("my", "apple") >>&g ...

  9. android中实现view可以滑动的六种方法续篇(一)

    承接上一篇,如果你没有读过前四章方法,可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4985053.html 下面开始讲第五中方法. 五.利用Sc ...

  10. 问题解决——在结构体中使用set保存结构体数据

    =====================声明========================== 本文原创,转载请明确的注明出处和作者,并保持文章的完整性(包括本声明部分). 本文链接:http:/ ...