东大OJ-1391-Big big Power
题目描述
Calculate the power num a^(b^c) mod 1e9+7
输入
Multiple test cases,each case has three integers a,b and c . a,b,c is less than 1e9;
输出
Output the answer in each line
样例输入
2 3 2
样例输出
512
需要用到费马小定理.如果p是质数,并且a不等于1且a不等于p,那么 a^(p-1)%p====1.
所以,a^1000000006 % 1000000007=1.
a^b^c%1000000007=a^(b^c % 1000000006) % 1000000007.
这是第一关.用费马小定理将问题化简一下.
第二关是快速幂,用递归实现特别清晰.
九指神丐洪七公曾经告诉郭靖:遇到敌人不要把注意力放在敌人出什么招数上,你只需要把这降龙十八掌一遍一遍的使将出来,必可立于不败之地.
管他是否多余,多用long long int.各种取余.
为了安全,可以适当的冗余.尤其是现在的大程序.
#include<iostream>
using namespace std;
long long int go(long long int a, long long int b, long long int c){if (b == 0)return 1;long long int t = go(a, b / 2, c);long long int p = (t*t) % c;if (b % 2 == 0)return p;return (p*a) % c;
}
int main(){//freopen("in.txt", "r", stdin);long long int a, b, c;while (cin >> a >> b >> c)cout << go(a, go(b, c, 1000000006), 1000000007)<<endl;return 0;
}
转载于:https://www.cnblogs.com/weiyinfu/p/5013909.html
东大OJ-1391-Big big Power相关推荐
- 东大OJ 2SAT 异或
看了十年才懂懂了十年才会会了十年才会写写了十年才写完写完了十年才能改对 #include<stdio.h> #include<string.h> struct res{int ...
- 【算法学习笔记】74. 枚举 状态压缩 填充方案 SJTU OJ 1391 畅畅的牙签袋(改)...
一开始想贪心,类似启发式搜索的感觉...后来觉得不行,而且很难写. 不如就枚举.可以通过0到2^W的中的每一个数的二进制形式来对应,第一行每个位置是否作为中心点放入十字格子的情况. 当此处为0时表示不 ...
- 东方博宜OJ 1391 - 【入门】公交卡充值问题?
题目描述: 小明去公交卡充值中心为自己的公交卡充值,公交充值中心搞了一个充值优惠活动,活动详情如下: (1)充值200元~299元,赠送50元余额到卡中: (2)充值300元~499元,赠送100元余 ...
- 东大OJ-Max Area
1034: Max Area 时间限制: 1 Sec 内存限制: 128 MB 提交: 40 解决: 6 [提交][状态][讨论版] 题目描述 又是这道题,请不要惊讶,也许你已经见过了,那就请你再 ...
- Leet Code OJ 326. Power of Three [Difficulty: Easy]
题目: Given an integer, write a function to determine if it is a power of three. Follow up: Could you ...
- Leet Code OJ 231. Power of Two [Difficulty: Easy]
题目: Given an integer, write a function to determine if it is a power of two. 分析: 题意是给定一个整数,判断它是不是2的幂 ...
- Power oj 2781: 上决╇ф的黑科技 (任意模数NTT|拆系数FFT)
https://www.oj.swust.edu.cn/problem/show/2781 式子很好推 很明显卷积即可 可以使用 NTT或者拆系数FFT 这里使用的是NTT #include < ...
- Power oj 2837: 剑道万古如长夜(单调队列优化DP)
题目链接 Description 李淳罡正在和别人战斗,他一共有 NN 把宝剑,选择每把宝剑都要付出一定的代价.为了能够顺利的战胜敌人,在连续 MM 把宝剑中至少要有一把宝剑要被选择.请计算总共最少花 ...
- power oj 2866 青春猪头少年不做怀梦美少女的梦
题目链接 给一个字符串, 询问其"前缀的后缀,和后缀的前缀,是某个子串"的个数 之前也不了解这个前缀后缀到底是个什么东西= = 不过按照题面对前缀后缀的解释,模拟一遍,就可以发现, ...
最新文章
- Java 统计字母个数
- Vue2.0配置mint-ui踩过的那些坑
- 中国首个工业云平台发布 徐工阿里华为联合打造
- 1.13 总结-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- Linux疑难杂症解决方案100篇(十九)-什么是TCP协议中的“三次握手,四次挥手”?带你深入探讨下
- 基于SuperSocket的IIS主动推送消息给android客户端
- unsigned long long 溢出 乘_Java整数相加溢出怎么办?Java8一步搞定
- mysql connection.h_MySQL connector c++使用笔记
- Kyoto Cabinet 使用及原理
- 转载:基于大数据的互联网金融反洗钱模型初探
- 蒙特卡罗方法C语言求定积分,蒙特卡罗方法计算定积分
- 视频怎么分割片段?快速分割视频小技巧
- linux安装qq(deb文件)
- aecmap快捷键_arcmap快捷键
- Hotspot 对象引用Reference和Finalizer 源码解析
- Microsoft Office Visio的功能/价值及不足
- Android使用Google Map服务 - 根据GPS信息在地图上定位
- 详细解读Windows8.1 Update中的WIMBoot新特性
- 计算机专业文书范文,优秀留学文书汇总(计算机专业).pdf
- 用于多核DSP开发的核间通信
热门文章
- 2、Python函数详解(0601)
- Device Tree Usage(转)https://elinux.org/Device_Tree_Usage
- mybatis association 问题
- Bootstrap系列 -- 44. 分页导航
- IP地址在数据库里面的存储方式
- 手机网页宽度自动适应屏幕宽度的方…
- strncpy 用法
- SQLite学习笔记(三)--创建内存数据库
- c语言 乘号 指针 避免,C语言指针篇(一)指针与指针变量
- 16年的大数据经验,为了搞定数字化转型,我和老板做了个赌注