网站页面确认书,电子商务网站建设计划,沧州网站建设制作设计优化,模仿采集网站生成网页国集#xff1a;打表啊#xff01;#xff01;
题目描述
给你三个整数 b,p,kb,p,kb,p,k#xff0c;求 bp mod kb^p \bmod kbpmodk。
输入格式 输入只有一行三个整数#xff0c;分别代表 b,p,kb,p,kb,p,k
输出格式 输出一行一个字符串 b^p mod ks#xff0c;其中 b,…国集打表啊
题目描述
给你三个整数 b,p,kb,p,kb,p,k求 bp mod kb^p \bmod kbpmodk。
输入格式 输入只有一行三个整数分别代表 b,p,kb,p,kb,p,k
输出格式 输出一行一个字符串 b^p mod ks其中 b,p,kb, p, kb,p,k 分别为题目给定的值 sss 为运算结果。
输入输出样例 输入 #1 2 10 9
输出 #1 2^10 mod 97
说明/提示 样例输入输出 1 解释 21010242^{10} 102421010241024 mod 971024 \bmod 9 71024mod97。 数据规模与约定
对于 100%100\%100% 的数据保证 0≤b,p2310\le b,p 2^{31}0≤b,p2311≤k2311 \leq k \lt 2^{31}1≤k231。解析
经典快速幂 基本思路就是把指数转化为二进制 注意有的要开long long 处处mod k
代码
#includecstdio
#includecmath
#includecstring
#includealgorithm
using namespace std;
long long ksm(long long b,int p,int k){long long ans1;while(p){if(p%21) ansans*b%k;b b*b%k;p / 2;}return ans%k;
}
int main(){int b,p,k;scanf(%d%d%d,b,p,k);printf(%d^%d mod %d%lld,b,p,k,ksm(b,p,k));
}