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 ...
随机推荐
- [小北De编程手记] : Lesson 01 - Selenium For C# 之 环境搭建
在我看来一个自动化测试平台的构建,是一种很好的了解开发语言,单元测试框架,自动化测试驱动,设计模式等等等的途径.因此,在下选择了自动化测试的这个话题来和大家分享一下本人关于软件开发和自动化测试的认识. ...
- Android 手机卫士15--程序锁
1.基本思路 ①.创建已加锁应用的数据库(字段:_id,packagename),如果应用已加锁,将加锁应用的包名维护到数据库中 ②.已加锁+未加锁 == 手机中所有应用(AppInfoProvide ...
- [CLK Framework] CLK.Threading.PortableTimer - 跨平台的Timer类别
[CLK Framework] CLK.Threading.PortableTimer - 跨平台的Timer类别 问题情景 开发应用程式的时候,免不了需要加入一些定时执行的设计,例如说:定时更新画面 ...
- 对CSS进行wxss思路学习,display属性。
先来概要一下学习思路: 本系列内容,将针对微信小程序中的WXSS学习,所以在学习CSS时每一个知识点都在小程序IDE中进行实践,达到最好的学习效果. 由于wxss与CSS有些许不同,在学习CSS过程中 ...
- SharePoint 2013 中代码创建列表查阅项字段
1.首先,打开VS创建两个List Definition,分别是Address和City,如下图: 2.City列表里修改Title为City Name,其实内部名称还是Title,注意一下: 3.给 ...
- 树莓派版的家用NAS服务器
家里的文件越来越多,每个人的文件放得到处都是,需要的时候又找不到... 买个NAS服务器?太贵!太吵!太费电!... 好在我们有树莓派,自己动手,丰衣足食! 说做就做,主要分成以下三部分 加载双USB ...
- 通过重写OnScrollListener来监听RecyclerView是否滑动到底部
为了增加复用性和灵活性,我们还是定义一个接口来做监听滚动到底部的回调,这样你就可以把它用在listview,scrollView中去. OnBottomListener package kale.co ...
- Android多媒体录制--MediaRecorder视频录制
Android使用MediaRecorder类进行视频的录制. 需要注意,使用MediaRecorder 录音录像 的设置代码步骤一定要按照API指定的顺序来设置,否则报错 步骤为: 1.设置视频源, ...
- 【原】结构体包含CString类型成员变量出错的原理
问题如下:我定义了如下的一个结构体: typedef struct{ CString csText;}MyStruct; 并有如下的程序段1:MyStruct * p=NULL;p=(MyStru ...
- 记OC迁移至swift中笔记20tips
写久了OC后来写swift,总感觉写着是swift的皮毛,但是实际上是OC的核心,这里整理了OC迁移至swift中的一些小细节. 1 在当前类中,实例方法调用属性以及方法都可以将self省略掉,而且是 ...