题目传送门

题目中的式子很符合扩展欧拉定理的样子。(如果你还不知扩展欧拉定理,戳)。对于那一堆糟心的2,我们只需要递归即可,递归边界是模数为1.

另外,本题中好像必须要用快速乘的样子...否则无法通过...。

$Code$

 1 #include<cstdio>
 2 #include<algorithm>
 3
 4 using namespace std;
 5 const int lim=10000010;
 6
 7 int T,p;
 8 int phi[lim];
 9
10 void init_phi()
11 {
12     phi[1]=1;
13     for(int i=2;i<=lim;i++) phi[i]=i;
14     for(int i=2;i<=lim;i++)
15         if(phi[i]==i)
16             for(int j=i;j<=lim;j+=i)
17                 phi[j]=phi[j]/i*(i-1);
18 }
19
20 int mul(int a,int b,int mo)
21 {
22     int ans=0;
23     while(b)
24     {
25         if(b&1) ans=(ans%mo+a%mo)%mo;
26         b>>=1;
27         a=a%mo*2%mo;
28     }
29     return ans;
30 }
31
32 int ksm(int a,int b,int mo)
33 {
34     int ans=1;
35     while(b)
36     {
37         if(b&1) ans=mul(ans,a,mo)%mo;
38         b>>=1;
39         a=mul(a,a,mo)%mo;
40     }
41     return ans;
42 }
43
44 int work(int mod)
45 {
46     if(mod==1) return 0;
47     return ksm(2,work(phi[mod])+phi[mod],mod);
48 }
49
50 int main()
51 {
52     init_phi();
53     scanf("%d",&T);
54     while(T--)
55     {
56         scanf("%d",&p);
57         printf("%d\n",work(p));
58     }
59     return 0;
60 } 

View Code

转载于:https://www.cnblogs.com/nopartyfoucaodong/p/9741880.html

Luogu P4139 上帝与集合的正确用法【扩展欧拉定理】By cellur925相关推荐

  1. 【bzoj3884】上帝与集合的正确用法 扩展欧拉定理

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

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

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

  3. 【洛谷】P4139 上帝与集合的正确用法

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

  4. 【题解】 P4139 上帝与集合的正确用法

    \(Decription:\) 给出T组询问,每次给出一个p,求\(2^{2^{2^{2...}}} \mod {p}\) \(Sample\) \(Input:\) 3 2 3 6 \(Sample ...

  5. P4139 上帝与集合的正确用法

    题目描述 题目链接 一句话题意:2222...modp2^{2^{2^{2...}}} mod\ p2222...mod p 输入格式 第一行一个整数T,表示数据个数. 接下来T行,每行一个正整数p, ...

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

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

  7. BZOJ3884 上帝与集合的正确用法 (欧拉定理)

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

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

    题目大意:求2^(2^(2^(2^(2^...)))) mod p的值 题解:https://blog.csdn.net/popoqqq/article/details/43951401 #inclu ...

  9. BZOJ3884 上帝与集合的正确用法 【欧拉定理】

    题目 对于100%的数据,T<=1000,p<=10^7 题解 来捉这道神题 欧拉定理的一般形式: \[a^{m} \equiv a^{m \mod \varphi(p) + [m \ge ...

最新文章

  1. docker安装Jenkins:查看安装版本信息
  2. 五、Requests库详细的用法
  3. 10.27 sort
  4. [CC]CC插件初探
  5. Centos 安装配置gerrit
  6. bmp转YUV RGB转YUV HM学习
  7. Eclipse+CDT+MinGW 配置 C/C++ 开发环境
  8. Graphviz安装配置教程(图文详解)
  9. 【九天教您南方cass 9.1】 11 方格网土方计算
  10. ARM CMSIS 4.5.0
  11. WPS Office 2021 for Mac(办公软件)
  12. 用思维导图描绘5G场景
  13. 嵌入式工程师必备开发工具
  14. བྱ་དེ་ཁྲུང་ཁྲུང་དཀར་པོ།།--洁白的仙鹤/仓央嘉措情歌--IPA--藏语...
  15. 模拟量开环控制系统的组成
  16. 误杀进程致电脑白屏解决办法
  17. 【UOJ311】【UNR #2】积劳成疾
  18. 【css】margin坍塌及应对办法
  19. 从来不敷面膜的人_女人不敷面膜的危害
  20. 在oracle符号,学在oracle数据库中插入特殊符号

热门文章

  1. 完美解决doc、docx格式word转换为Html
  2. windows测试模式
  3. 数据结构从0.2到1(一)
  4. smartctl command's RETURN VALUES
  5. 完美解决eWebEditor编辑器按钮失效 IE8、9无法使用方法
  6. 利用InfoPath生成XML资源文件
  7. apache简单安全配置
  8. 手动同步OCS的通讯簿
  9. 如何打印网页版的发票_纸质发票将消失,电子发票如何报销、打印、收集?这一篇就够了...
  10. 是否遇到过MySQL workbench text字段不能直接放入json格式内容