P1226 取余运算||快速幂(奇特的分治思想,需要好好思考其中二分后式子的样式)
题目描述
输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。
输入输出格式
输入格式:
三个整数b,p,k.
输出格式:
输出“b^p mod k=s”
s为运算结果
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long int b, p, k,a,c;
int ans = 1;
cin >> b >> p >> k;
a = b;
c = p;
while (p>0)
{
if (p % 2 != 0)
ans = (ans * b)%k;
b = b * b%k;
p = p / 2;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载