| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 酸菜鱼的我今天在学习逆元 -> 正文阅读 |
|
[人工智能]酸菜鱼的我今天在学习逆元 |
逆元是什么当(a * c)% p = 1时 ,称c为a的逆元。 逆元的用法性质大家都知道,取余的时候有如下(同余拆分定理),但是当(a / b)% p 的时候该怎么办呢?这个时候我们就需要用上逆元了。
让除数乘它的逆元,将除法转化为乘法进行计算。 (逆元的符号为inv() )。 (a / b) % p = (a * inv(b) ) % p 逆元的证明原式: (a / b) % p 证明: a / b = a 乘 b 的-1次方 (b * c) % p = 1 -> 1/ b = c % p a * (b的-1次方)= a * (c % p) 原式可化为:(a * (c % p)) % p = a % p * (c % p) % p = a % p * c % p = (a * c) % p 又因为:c是b的逆元 ,原式最终可化为:(a * inv(b) ) % p 逆元的求法1、费马小定理费马小定理(Fermat's little theorem)是中的数论一个重要定理,在1636年提出。如果p是一个质数,而整数a不是p的倍数,则有a^(p-1)≡1(mod p)。
(特意说明一下,mod p 就是 % p) 代码如下(用到快速幂):
2、扩展欧几里得算法扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展。除了计算a、b两个整数的最大公约数,此算法还能找到整数x、y(其中一个很可能是负数)。通常谈到最大公因子时, 我们都会提到一个非常基本的事实: 给予二整数 a 与 b, 必存在有整数 x 与 y 使得ax + by = gcd(a,b)。有两个数a,b,对它们进行辗转相除法,可得它们的最大公约数——这是众所周知的。然后,收集辗转相除法中产生的式子,倒回去,可以得到ax+by=gcd(a,b)的整数解。
代码不知道怎么写,先欠着,hh。 (如有错误,欢迎指正) ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 22:42:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |