⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.cpp

📁 任用户随意的输入数值
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
int mod_invese(int d,int n) 
{
	int a,b,q,r,u=0,v=1,t;
	a=n;
	b=(d>=0)?(d%n):-(d%n);
	
	while (b!=0)
	{

         q=(int)a/b;
	     r=a-b*q;
	     a=b;
	     b=r;
	     t=v;
	     v=u-q*v;
	     u=t;
	}
if(a!=1)
 return(-a);
return((u<0)?u+n:u);
}
int mod_power(int a,int k,int n)
{
	int x,y,t;
	y=a;
	t=k;
	if(t<0)
	{
		y=mod_invese(y,n);
		if(y<0) 
			return 0;
		t=-t;
	}
	x=1;
	if(t==0) 
		return 1;
	while(t>1)
	{
		if(t&0x00000001) x=(x*y)%n;
		y=(y*y)%n;
		t>>=1;
	}
	x=(x*y)%n;
	return (x);
}

		

void main()
{
	int n,d,a,k,m,z;
    printf("请输入模数n和d的值:\n");
	scanf("%d %d",&n,&d);
	m=mod_invese(d,n);
	printf("所求结果为:%d\n",m);
	printf("请输入要进行模幂运算的模数n、底数a、指数k的值:\n");
	scanf("%d %d %d",&n,&a,&k);
	z=mod_power(a,k,n);
    printf("所求结果为:%d\n",z);
	
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -