Luogu P1226 取余运算||快速幂 (思路待补)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu P1226 取余运算||快速幂 (思路待补)相关的知识,希望对你有一定的参考价值。
题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入输出格式
输入格式:三个整数b,p,k.
输出格式:输出“b^p mod k=s”
s为运算结果
输入输出样例
输入样例#1:
2 10 9
输出样例#1:
2^10 mod 9=7
#include <iostream> #include <cstdio> using namespace std; long long pow1(long long b,long long p,long long k){ long long r=1; while(p){ if(p&1) r=r*b%k; //p&1即可单独取出最后一位1 b=b*b%k; p>>=1; //将p右移一位,相当于p/=2,但是貌似更快? } return r%k; } int main(){ long long b,p,k; //b为底数,p为指数,k为取模数 cin>>b>>p>>k; cout<<b<<"^"<<p<<" mod "<<k<<"="<<pow1(b,p,k); return 0; //一开始又没有写return,想想noip }
以上是关于Luogu P1226 取余运算||快速幂 (思路待补)的主要内容,如果未能解决你的问题,请参考以下文章