ZOJ 2674 Strange Limit
欧拉函数。
#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的更多相关文章
- ZOJ 3332 Strange Country II
Strange Country II Time Limit: 1 Second Memory Limit: 32768 KB Special Judge You want to v ...
- zoj 2176 Speed Limit
Speed Limit Time Limit: 2 Seconds Memory Limit: 65536 KB Bill and Ted are taking a road trip. B ...
- ZOJ 3332 Strange Country II (竞赛图构造哈密顿通路)
链接:http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3332 本文链接:http://www.cnblogs.com/Ash-l ...
- 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的个数的有限的, ...
- ZOJ问题(坑死了)
ZOJ问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- ZOJ问题--hdu3788
ZOJ问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 3788 和九度OJ 1006测试数据是不一样的
ZOJ问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 开源评测系统hustoj-代码解读
非常感谢zhblue贡献了这么美丽的代码 为了开发适合自己学校的oj,努力研读代码中,不断的百度,调试,测试 对ubutun,linux的各种文件系统,进程系统,c编程都学习了不少 给大家分享下,希望 ...
- ZOJ 3430 Detect the Virus
传送门: Detect the Virus ...
随机推荐
- 利用PBFunc在Powerbuilder中解析Json对象
利用PBFunc工具在Powerbuilder解析json,只需要调用getattribute方法来获取 解析unicode格式的json: n_pbfunc_json lnv_json lnv_js ...
- elasticsearch分词插件的安装
IK简介 IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源项目Luen ...
- seajs快速了解
详情请点击原文 SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制.与jQuery等JavaScript框架不同,S ...
- WCF概念
WCF 概念 WCF是.NET Framework 上灵活通讯技术.在.NET 3.0推出之前,一个企业解决方案需要几种通讯方式.对于独立于平台的通讯,使用ASP.NET Web服务.对于比较高级的 ...
- Microsoft Dynamics 2013 --Social Pane
Microsoft Dynamics 2013 有一个新的东西--Social Pane (图1) 进入窗体设置,发现改选项卡的详细设置如下 (图2) Tab键的选项有3种[活动][公告][注释],若 ...
- 转:NLog之:文件类型目标(File target)
转:http://www.cnblogs.com/RitchieChen/archive/2012/07/16/2594308.html 英文原文[http://nlog-project.org/wi ...
- Python数据结构与算法--数据类型
从数据类型开始 Python支持面向对象的编程范式,这意味着Python把数据看成解决问题的关键. 在Python中,类似其他的面向对象的编程语言, 我们定义一个类,用来描述数据是什么 (状态) 和数 ...
- python 格式化字符串的三种方法
1)%格式化方法 >>> a = "this is %s %s" % ("my", "apple") >>&g ...
- android中实现view可以滑动的六种方法续篇(一)
承接上一篇,如果你没有读过前四章方法,可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4985053.html 下面开始讲第五中方法. 五.利用Sc ...
- 问题解决——在结构体中使用set保存结构体数据
=====================声明========================== 本文原创,转载请明确的注明出处和作者,并保持文章的完整性(包括本声明部分). 本文链接:http:/ ...