题目大意:求2^(2^(2^(2^(2^...)))) mod p的值    

题解:https://blog.csdn.net/popoqqq/article/details/43951401

#include <iostream>
#include <cstdio>
#include <cstring>
#define ll long longusing namespace std;void read(int &k)
{int f=1;k=0;char c=getchar();while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();while(c<='9'&&c>='0')k=k*10+c-'0',c=getchar();k*=f;
}ll phi(ll n)
{ll rea=n;for(int i=2;i*i<=n;i++){if(n%i==0){rea=rea-rea/i;don/=i;while(n%i==0);}}if(n>1)rea=rea-rea/n;return rea;
}ll quick_mod(ll a,ll b,ll c)
{ll res,t;res=1;t=a%c;while(b){if(b&1){res=res*t%c;}t=t*t%c;b>>=1;}return res;
}int T;
int p;int Solve(int p)
{if(p==1) return 0;int temp=0;//p=2^k*q;while(~p&1) p>>=1,++temp;//p为提取出来的奇数q,temp为2的多少次方int phi_p=phi(p);int re=Solve(phi_p);//回溯计算(re+=phi_p-temp%phi_p)%=phi_p;re=quick_mod(2,re,p)%p;return p;
}int main()
{read(T);while(T--){read(p);cout<<Solve(p)<<endl;}return 0;
}

转载于:https://www.cnblogs.com/Fy1999/p/9767524.html

BZOJ 3884 上帝与集合的正确用法 (欧拉定理)相关推荐

  1. bzoj 3884: 上帝与集合的正确用法(欧拉函数)

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2574  Solved: 1151 [Submit][Status] ...

  2. BZOJ - 3884 上帝与集合的正确用法

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

  3. bzoj 3884 上帝与集合的正确用法 扩展欧拉定理

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

  4. BZOJ 3884: 上帝与集合的正确用法 欧拉降幂

    根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作"α".&q ...

  5. (bzoj 3884 上帝与集合的正确用法)欧拉定理

    题目 Time Limit: 5 Sec Memory Limit: 128 MB Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元 ...

  6. 洛谷4139 bzoj 3884 上帝与集合的正确用法

    传送门 •题意 求$2^{2^{2^{2^{2^{2^{...^{2}}}}}}}$ (无穷个2) 对p取模的值 •思路 设答案为f(p) $2^{2^{2^{2^{2^{2^{...^{2}}}}} ...

  7. BZOJ 3884 上帝与集合的正确用法

    学习借鉴了skywalkert大佬的题解 Orz 首先题目需要用到欧拉函数的一个性质 $\forall x\geq \phi(p)$ $a^x\equiv a^{x \; mod \; \phi(p) ...

  8. BZOJ-3884 上帝与集合的正确用法 欧拉定理

    再次仰望高端玩家Po姐 3884: 上帝与集合的正确用法 Time Limit: 5 Sec Memory Limit: 128 MB Submit: 772 Solved: 361 [Submit] ...

  9. 3884: 上帝与集合的正确用法 —— 欧拉降幂

    Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做"元". 第二天, 上帝创造了一个新的元素,称作&quo ...

最新文章

  1. 设计模式-组合+策略模式
  2. python ftp模块_python中的FTP文件模块
  3. Citrix 未注册解决办法
  4. 一道微软公司的面试题目的算法实现
  5. poj 3468 A Simple Problem with Integers(线段树区区)
  6. 动态网站的技术路线_3个好玩实用小网站!闲暇时间不妨打开看看
  7. 7.Linux 的文件权限和目录配置
  8. shell 之while两种写法
  9. 电源大师课笔记 2.7
  10. 图的邻接矩阵表示及其基本操作
  11. 【FPGA】精品FPGA书籍推荐
  12. pmp知识点(8)-项目质量管理
  13. 六个免费网站状态监控服务
  14. 计算机资源管理器经常停止运行,win7资源管理器反复停止工作的解决方法[多图]...
  15. 【JavaScript】时间与时间戳相互转换
  16. 火焰识别python_五行属火的字大全
  17. 2017070506嵌入式开发系统概述和开发工具的使用
  18. MarkDown语法详解
  19. docker修改已部署容器的配置文件
  20. java 打印 日历 详细 注解_java 打印日历

热门文章

  1. JavaScript的基础学习篇
  2. Spring in Action 入门之面向切面编程AOP
  3. HDOJ2019 ( 数列有序! ) 【水题】
  4. CentOS 7 安装Apache 2.4.39
  5. BZOJ5137lg4081(广义后缀自动机,set启发式合并)
  6. 关于Map迭代循环,key和value的顺序问题
  7. HTML-参考手册: HTTP 方法:GET 对比 POST
  8. .net IL 指令速查
  9. RPM vs SRPM
  10. jQuery开发技巧