西电oj1066 费马小定理
西电oj1066 费马小定理
问题 A: A^B % P
时间限制: 1 Sec 内存限制: 128 MB
提交: 28 解决: 8
[提交][状态][讨论版]
题目描述
输入
输出
样例输入
2 3 1 2 2 2 2
样例输出
9 64 思路:先求k=B0*B1*...*Bn-1%(p-1),最后算出A^k%p即为答案。 依据:由费马小定理,若a,p互质,a^(p-1)=1(mod p);因此,A^(B0*B1*...*Bn-1)%p=A^((p-1)的倍数+((B0*B1*...*Bn-1)%(p-1)))%p=(A^(p-1)的倍数%p)*((A^k)%p)=1*((A^k)%p)=A^k%p;
#include<bits/stdc++.h>using namespace std;const int maxn=10100; const int INF=(1<<29); typedef long long ll; const ll p=1000000000+7;int T; ll A,B0,n;ll qpow(ll n,ll k) {ll res=1;while(k){if(k&1) res=(res%p)*(n%p);n=(n%p)*(n%p);k>>=1;}return res; }ll s(ll x,ll p) {ll res=1;p--;for(int i=0;i<=n-1;i++){res=(res%p)*(x%p)%p;x=((x%p)*(x%p)+p-1)%p;}return res; }int main() {cin>>T;while(T--){cin>>A>>n>>B0;ll k=s(B0,p);ll ans=qpow(A,k);cout<<ans%p<<endl;}return 0; }
View Code
转载于:https://www.cnblogs.com/--560/p/4539174.html
西电oj1066 费马小定理相关推荐
- 【ACM】杭电OJ 4704 Sum (隔板原理+组合数求和公式+费马小定理+快速幂)
http://acm.hdu.edu.cn/showproblem.php?pid=4704 1.隔板原理 1~N有N个元素,每个元素代表一个1.分成K个数,即在(N-1)个空挡里放置(K-1)块隔板 ...
- 欧拉定理 费马小定理
前言 学基础数论的时候看过证明,然而很快就忘了,最近在学习高深一点的数论,于是再复习一下欧拉定理和费马小定理. 欧拉定理 内容 若正整数 \(a,n\) 互质,则 \(a^{\varphi(n)}\e ...
- 「欧拉定理」学习笔记(费马小定理)
欧拉定理:对于互质的两个正整数$a, n$,满足$a^{φ(n)} ≡ 1\ (mod\ n)$ 证明: 设集合$S$包含所有$n$以内与$n$互质的数,共有$φ(n)$个:$$S = \{ x_1 ...
- 子段乘积(逆元费马小定理)+线段树做法
题解:一开始做这个题的时候想过尺取法,但是因为没有逆元的知识,不知道该如何不断删除左端元素.其实这题并不难想,设l,r为两端开始都置为1,当长度小于k的时候不断乘右端元素并取余,当长度等于k时删除左端 ...
- luogu P2613 【模板】有理数取余(费马小定理,乘法逆元)
整理的算法模板合集: ACM模板 目录 题目传送门 题目传送门 相当于是一个高精的费马小定理求乘法逆元.虽然数据达到了101000110^{10001}1010001,但是我们可以使用快读然后一直模m ...
- 关于素数常用结论--威尔逊定理、欧拉定理、费马小定理、米勒罗宾算法
再需要判定的数比较大时,用枚举法肯定不行的,但目前数学界也没有任何一种又快又准确的判定素数的方法,并且也证明了素数不存在任何一种通项表达式.但作为初等数论中最大的一部分内容,数学家们对素数性质进行了大 ...
- 【BZOJ1951】【SDOI2010】古代猪文 Lucas定理、中国剩余定理、exgcd、费马小定理
Description "在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心--" --选自猪王国民歌 很久 ...
- HDU4549 M斐波那契数列(矩阵快速幂+费马小定理)
Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) ...
- BZOJ 3240([Noi2013]矩阵游戏-费马小定理【矩阵推论】-%*s-快速读入)
3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 123 Solved: 73 [ Submit][ St ...
最新文章
- python基础入门(4)之布尔值
- 《Android进阶之光》--事件总线
- Android 应用开发(35)---View与ViewGroup的概念
- js-JavaScript高级程序设计学习笔记1
- (3)通过输入参数(测量数据)构建三维体模型(02)
- Hyper-V使用手记(一):无法引导安装FreeBSD7
- java 全局钩子_[原]在全局鼠标钩子中模拟鼠标右键单击
- 洛谷 P3496 [POI2010]GIL-Guilds 题解
- 第三周作业#183;
- WEB前端开发工程师 学习第二天 文字文本
- zabbix的psk加密结合zabbix_get取值
- linux 文件恢复 软件,EasyRecovery轻松实现Linux数据恢复
- OpenJudge NOI 1.13 18:Tomorrow never knows?
- RT系统+STM32+SYN8266播报+红外定时器
- 虚拟创业云|BBC幼儿英语启蒙动画Nina and the Neurons妮娜和神经元
- 合并单元格如何快速填充序列
- 剖析ELF文件格式的内容———文件头,段表,符号....(第三章)
- Linux内核中断顶半部和底半部的理解
- VR头显价格天差地别,究竟哪一款最适合你?
- H3C路由器常用命令----更新中