【模板】快速幂||取余运算|题解

【模板】快速幂||取余运算

【模板】快速幂||取余运算


这是一次久违的更新


题目描述

给你三个整数 b,p,k,求 bp mod k 。

输入格式

输入只有一行三个整数,分别代表 b,p,kb,p,k

输出格式

输出一行一个字符串

b^p mod k=s

其中 b, p, k 分别为题目给定的值, s 为运算结果。


输入输出样例

输入

2 10 9

输出

2^10 mod 9=7


这道题需要函数鸭


思路:

在这里插入图片描述

出处 :学委


上代码

#include<iostream>
using namespace std;
unsigned long long n,m,y;
unsigned long long pow(int a,int b,int c)
{
	if(b==1)	return a%c;
	else if(b==0)	return 0;
	else
	{
		unsigned long long f=pow(a,b/2,c);
		if(b%2==0)    return f*f%c;
		else    return f*f%c*a%c;
	}
}
int main()
{
	cin>>n>>m>>y;
	cout<<n<<"^"<<m<<" "<<"mod"<<" "<<y<<"="<<pow(n,m,y);
	return 0;
}

有问题可以在下边提出来记得

@星钶鸭

猜你喜欢

转载自blog.csdn.net/Y_bluefat/article/details/106220836
今日推荐