すのはら荘春原庄的雪

目录

  1. 素数模的逆

数论——素数模的逆(c/c++实现)

Toretto·2022-05-04 12:17·149 次阅读

数论——素数模的逆(c/c++实现)

素数模的逆

又是可恶的密码学。

每天疯狂求逆,天天辗转相除法,实在是腻了。

因此有了以下代码、、

Copy
highlighter-hljs
#include <iostream>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int inverse(int x, int mod){
// 计算x模mod的逆 要求模数为素数 使用费马小定理
if(x>mod)
x %= mod;
int i(1),j(0);
map<int,int> temp;
while(i!=mod-2){
temp[i+j] = (int)pow(x,i+j);
temp[i+j]%= mod;
i += j;
if(2*i > mod-2){
for(j=1;j<=i;j*=2)
if(i+j > mod-2){
j /= 2;
break;
}
}
else{
i *= 2; j = 0;
}
}
return temp[mod-2];
}
int main(){
int x = 2;
int mod = 19;
printf("%d\n",inverse(x,mod));
}


作者:Mengjie Ye
出处:https://ymj68520.cnblogs.com/

如果,您希望更容易地发现我的新文章,不妨点击一下绿色通道的关注我

如果您觉得阅读本文对您有帮助,请点击一下右下方的推荐按钮,您的推荐将是我写作的最大动力!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。如您有任何疑问或者授权方面的协商,请            .
posted @   ymj68520  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
分享到:

打赏

>>

欢迎打赏支持我 ^_^

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示