20192132055 李欣桐 第三次作业

乘法逆元

#include<iostream>
using namespace std;
int mutiply_inverse(int a,int b,int &x,int &y)
{
	if(b==0)
	{
		x=1;
		y=0;
		return a;
	}
	int m=mutiply_inverse(b,a%b,x,y);
	int tmp=x;
	x=y;y=tmp-(a/b)*y;
	return m;
}
int main()
{
	int a,b;
	cin>>a>>b;
	int &x=a;
	int &y=b;
	cout<<mutiply_inverse(a,b,x,y)<<endl;
	return 0;
}

模指数运算

#include<iostream>
#include<cstdio>
using namespace std;
int mo(int x,int y,int z)
{
	if(y==0)
		return 1;
	int m=mo(x,y/2,z);
	if(y%2==0)
		return m*m%z;
	else
		return x*m*m%z;
}
int main()
{
	int x,y,z;
	cin>>x>>y>>z;
	cout<<mo(x,y,z)<<endl;
	return 0;
}
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页