[二分]取余运算||快速幂
2016-04-29 08:22
381 查看
又写一遍快速幂,还是需要理解原理..
s为运算结果
直接贴代码
题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数输入输出格式
输入格式
三个整数b,p,k.输出格式
输出“b^p mod k=s”s为运算结果
输入输出样例
INPUT
2 10 9
OUTPUT
2^10 mod 9=7
直接贴代码
#include<iostream> #include<cstdio> #define LL long long using namespace std; LL fast(LL,LL,LL); int main(){ LL b,p,k; scanf("%lld%lld%lld",&b,&p,&k); cout<<b<<"^"<<p<<" mod "<<k<<"="<<fast(b,p,k);; return 0; } LL fast(LL b,LL p,LL k){ LL ans=1; while(p){ if(p&1)//判断奇偶数 请自行上百度%原理 ans=(ans*b)%k; b=(b*b)%k; p>>=1; } return ans; }
相关文章推荐
- 快速排序里的学问:从猜数字开始
- 1.m分解阶乘之和
- 2.几种递推数
- 3.欧拉函数
- 4.快速幂模m算法
- 5.扩展欧几里得&&中国剩余定理
- 6.数论_web
- Project Euler Problem 387 - Harshad Numbers - 深度优先
- 编程之美2015初赛A
- HDU 4898 The Revenge of the Princess’ Knight ( 2014 Multi-University Training Contest 4 )
- Search Insert Position,Search for a Range,Pow(x, n),Sqrt(x)
- Find Minimum in Rotated Sorted Array II
- 数论题集
- [LeetCode] Sqrt(x)
- [LeetCode] Pow(x, n)
- [LeetCode] Search Insert Position
- [LeetCode] Search for a Range
- [LeetCode] Search in Rotated Sorted Array
- 原根
- PAT 1057 Stack (30)