题目大意:给定第一个数M,后面有n的数,求解a[1]^a[2]^a[3]^…..%m的解

思路:开始的时候并不知道从哪里下手,一开始收到前面某题除4的印象,然后一直对4取余,知道a[1],计算后发现那一套只适用于求解最后一位的情况,苦思敏想不得其解,最后不得不去找答案,原来涉及到剩余系定理,即a^b=a^(b%phi[M])+phi[M])(phi[M]为M的欧拉函数) 如此一来,只是不断调用求解函数到最后一个即可。

Code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;typedef long long ll;
const int N=10005;
int n,m;
int a[15],phi[N];void tab()
{for (int i=2;i<=N;i++) phi[i]=0;phi[1]=1;for (int i=2;i<=N;i++){if (phi[i]) continue;for (int j=i;j<N;j+=i){if (!phi[j]) phi[j]=j;phi[j]=phi[j]/i*(i-1);}}
}
int pow_mod(int a,int n,int m)
{int ans=1;while (n){if (n%2==1) ans=ans*a%m;n/=2;a=a*a%m;}return ans;
}
int cal(int i,int m)
{//cout<<"bug"<<endl;if (i==n-1) return a[i]%m;int t=cal(i+1,phi[m]);//cout<<"bug"<<endl;return pow_mod(a[i],t+phi[m],m);
}
int main()
{tab();int ca=1;while (cin>>m){scanf("%d",&n);for (int i=0;i<n;i++)scanf("%d",&a[i]);int ans=cal(0,m);printf("Case #%d: %d\n",ca++,ans);}
}

uva 10692——Huge Mods相关推荐

  1. 《算法入门经典大赛——培训指南》第二章考试

    UVa特别考试 UVa站点专门为本书设立的分类题库配合,方便读者提交: http://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...

  2. 一位学长的ACM总结(感触颇深)

    发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...

  3. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  4. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  5. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  6. UVA 11752 超级幂

    UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  7. UVa 11174 - Stand in a Line

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. UVa 10112 - Myacm Triangles

    UVa第一卷最后一题. 求内部不含点并且面积最大的三角形. 暴力. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #inclu ...

  9. UVa 10180 - Rope Crisis in Ropeland!

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=41&pa ...

最新文章

  1. mac os下valgrind的安装
  2. 你在付费听《说好不哭》,我在这里免费看直播还送书 | CSDN新书发布会
  3. 如何运营一个合法的经营性网站?办理经营性ICP证!
  4. Altium Designer中如何仅显示顶层的元件和顶层布线
  5. python os.system执行shell 命令
  6. Web前端工程师的一些常见误区介绍!
  7. 笔试题目1,欢迎留言评论
  8. 使用border-collapse:collapse;属性新建一个细线表格
  9. python中exit的作用_python __enter__ 与 __exit__的作用,以及与 with 语句的关系
  10. 关于ios手机上传图片旋转问题的解决
  11. 基于数据库实现分布式锁
  12. 未来新型计算机可能有,上海科学家构建出新型“DNA逻辑门”DNA分子有望成未来超级计算机...
  13. 抢红包案例分析附代码实现(一)
  14. Qt android 开发环境搭建
  15. 超详细的Elasticsearch高性能优化实践
  16. 如何使用百度地图实现当前定位
  17. 【数据治理】数字治理的效度、温度、 尺度
  18. 【Windows无法访问指定设备,路径或文件,您可能没有合适的权限访问】
  19. ffmpeg 音频合并
  20. solidworks的openGL选项是灰色的处理方法

热门文章

  1. 初识react(四) react中异步解决方案之 redux-saga
  2. 用CSS3来代替JS实现交互
  3. vue 动态显示三级路由
  4. 一个页面同时发起多个ajax请求,会出现阻塞情况
  5. 《深入理解Java虚拟机》读书笔记3--垃圾回收算法
  6. python学习(九) 网络编程学习--简易网站服务器
  7. Java多线程:线程间通信之volatile与sychronized
  8. Linq to SQL 的增删改查操作
  9. 精通init ramfs构建
  10. SQL Server 2000数据库移植到SQL Server 2008R2数据库服务器中碰到的”3145错误”及解决办法...