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 ;
}

最新文章

  1. 带你玩转JavaWeb开发之三 -JS插件实战开发
  2. 禁止COOKIE后对SESSION的影响
  3. 嵌入式实时操作系统μCOS原理与实践+事件部分代码
  4. flock防止重复rsync
  5. iOS日常工作之常用宏定义大全
  6. 关于scut使用WebService
  7. Joson的简单用法
  8. 迟到的 WPF 学习 &mdash;&mdash; 依赖项属性
  9. webpack使用
  10. linux (1)基本知识/目录/磁盘格式/文件系统
  11. JDBC结果集rs.next()注意事项
  12. [20190423]简单测试latch nowilling等待模式.txt
  13. C# 操作SQL Server 公共库
  14. day050 前端Jquery库的使用
  15. Qt+QGIS二次开发:开发环境搭建(超级详细)
  16. (转)Autonomous_Vehicle_Paper_Reading_List
  17. CoordinateLayout简介
  18. 从头认识Spring-2.1 自己主动装配(2)-byType(2)
  19. Kubernetes性能测试实践
  20. 如何在存储过程的IN操作中传递字符串变量

热门文章

  1. 一个关于vue+mysql+express的全栈项目(二)------ 前端构建
  2. LeetCode(60) Permutation Sequence
  3. 【05】emmet系列之各种缩写
  4. JQuery_九大选择器
  5. 【中文排序】mysql order by 中文排序
  6. vagrant的学习 之 基础学习
  7. 洛谷——P1044 栈
  8. 关于SQL SERVER导出数据的问题!
  9. Ubuntu清理内存命令(效果不明显)
  10. 【转】深入理解javascript作用域——词法作用域和动态作用域