bzoj千题计划264:bzoj3884: 上帝与集合的正确用法
2024-10-21 10:13:34
http://www.lydsy.com/JudgeOnline/problem.php?id=3884
欧拉降幂公式
#include<cmath>
#include<cstdio> using namespace std; int get_phi(int p)
{
int phi=p;
int m=sqrt(p);
for(int i=;i<=m;++i)
if(p%i==)
{
phi=phi/i*(i-);
while(p%i==) p/=i;
}
if(p>) phi=phi/p*(p-);
return phi;
} int Pow(int a,int b,int p)
{
int res=;
for(;b;a=1LL*a*a%p,b>>=)
if(b&) res=1LL*res*a%p;
return res;
} int f(int p)
{
if(p==) return ;
int phi=get_phi(p);
return Pow(,f(phi)+phi,p);
} int main()
{
int T,P;
scanf("%d",&T);
while(T--)
{
scanf("%d",&P);
printf("%d\n",f(P));
}
}
最新文章
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)
- redis五种数据类型的使用(zz)
- RFID基础知识
- WebSocket IO和后端建立长连接,即时接受后端消息
- php中json_encode UTF-8中文乱码问题
- 字符串匹配 - KMP算法
- C++的构造函数总结
- jquery中DOM的操作方法
- 【杂】poj2482 Stars in Your Windows 题面的翻译
- 1596: [Usaco2008 Jan]电话网络
- (转)UML类图与类的关系详解
- Java~时间戳小知识
- phpstorm:如何设置代码自动换行
- jdbc访问pipelinedb
- Deffie-Hellman密钥交换
- C# 语法一 构造函数
- Burp Suite之截断代理功能及相关设置(一)
- tshark CAN协议分析初试
- ubuntu14.04 64位 安装搜狗输入法
- 【洛谷】P2000 拯救世界