bzoj3884
2024-08-30 20:58:14
http://www.lydsy.com/JudgeOnline/problem.php?id=3884
拓展欧拉定理
http://blog.csdn.net/Pedro_Lee/article/details/51458773这篇写的不错
我不会用latex。。。就不写了
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = ;
ll p;
int phi[N], pri[N], mark[N];
void Init()
{
phi[] = ;
for(int i = ; i <= ; ++i)
{
if(!mark[i])
{
pri[++pri[]] = i;
phi[i] = i - ;
}
for(int j = ; j <= pri[] && (ll)i * (ll)pri[j] <= ; ++j)
{
mark[i * pri[j]] = ;
if(i % pri[j] == )
{
phi[i * pri[j]] = phi[i] * pri[j];
break;
}
phi[i * pri[j]] = phi[i] * (pri[j] - );
}
}
}
inline ll power(ll x, ll t, ll p)
{
ll ret = % p; x %= p;
for(; t; t >>= , x = x * x % p) if(t & ) ret = ret * x % p;
return ret;
}
ll f(ll x) // 2^2^2...%p=
{
if(x == ) return ;
return power(2ll, f(phi[x]) + (ll)phi[x], x);
}
int main()
{
Init();
int T; scanf("%d", &T);
while(T--)
{
scanf("%lld", &p);
printf("%lld\n", f(p));
}
return ;
}
最新文章
- 带你玩转JavaWeb开发之三 -JS插件实战开发
- 禁止COOKIE后对SESSION的影响
- 嵌入式实时操作系统μCOS原理与实践+事件部分代码
- flock防止重复rsync
- iOS日常工作之常用宏定义大全
- 关于scut使用WebService
- Joson的简单用法
- 迟到的 WPF 学习 &mdash;&mdash; 依赖项属性
- webpack使用
- linux (1)基本知识/目录/磁盘格式/文件系统
- JDBC结果集rs.next()注意事项
- [20190423]简单测试latch nowilling等待模式.txt
- C# 操作SQL Server 公共库
- day050 前端Jquery库的使用
- Qt+QGIS二次开发:开发环境搭建(超级详细)
- (转)Autonomous_Vehicle_Paper_Reading_List
- CoordinateLayout简介
- 从头认识Spring-2.1 自己主动装配(2)-byType(2)
- Kubernetes性能测试实践
- 如何在存储过程的IN操作中传递字符串变量