IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 数论学习-初等数论基础(二) -> 正文阅读

[数据结构与算法]数论学习-初等数论基础(二)

初等数论基础(二)

建议先看

初等数论基础(一)~

一、数论只会gcd

1.1 gcd

(a,b) = (a,a+b) 的证明

(a,a) = (a,0) = a
(a,b) = (a,a+b)  = (a,ka+b)

在这里插入图片描述

(a,b) = (b,a%b)

(a,b) = (b,a%b)的证明

也叫辗转相除法
在这里插入图片描述
注意:gcd(a,b) = 1说明a和b互质。
另外:gcd(1,1) = 1,gcd(a,0) = a,gcd(a,1) = 1

辗转相除法代码:

ll gcd(ll a,ll b)
{
	return b?gcd(b,a%b):a;
}
//或者写成
ll gcd(ll a,ll b)
{
	if(b==0)
	{
		return a;
	}
	return gcd(b,a%b);
}

辗转相除法时间复杂度

只知道是小于log2(b)的呜呜呜
小于log2(b) 很好证:
只需要证a%b<b/2就可以了
在这里插入图片描述

1.2 exgcd

啥?除了gcd还有exgcd????
在欧几里得求得gcd(a,b)以后,大家并不满足,于是好奇一个方程的解:
a x + b y = g c d ( a , b ) 已 知 a , b , 求 一 组 x , y 使 得 方 程 成 立 ax+by = gcd(a,b) \\已知a,b,求一组x,y使得方程成立 ax+by=gcd(a,b)a,b,x,y使
在将这个方程的解之前需要介绍裴蜀定理:

1.2.1 裴蜀定理

? a , b , ? x , y s . t . a x + b y = g c d ( a , b ) \forall a,b ,\exists x,y \quad s.t. \quad ax+by = gcd(a,b) ?a,b,?x,ys.t.ax+by=gcd(a,b)
哈,其实就是说1.2的方程一定是有解的

1.2.2 ax+by = gcd(a,b)的求解

先构造:
显然当b = 0时,有x = 1,y = 任意值(一般写成0)
对于b!=0的情况:
在这里插入图片描述
只要每次先把(2)式求出,那么(1)式的解也能出来了:)

1.2.3 拓展

二、欧拉相关

2.1 欧拉函数

在这里插入图片描述
详细定义见:初等数论基础一

2.2 欧拉定理相关

2.2.1 欧拉定理

在这里插入图片描述
说人话就是:对于任意a与n互质,即有a的φ(n)次方与1在模n意义下同余。
例:
φ ( 7 ) = 6 , 3 φ ( 7 ) = 3 6 % 7 ≡ 1 ( m o d ?? 7 ) \varphi(7) = 6,\quad 3^{\varphi(7)} = 3^6\%7 \equiv1(\mod 7) φ(7)=6,3φ(7)=36%71(mod7)

2.2.1 扩展欧拉定理

在这里插入图片描述
引申:
若 b > φ ( n ) , 则 a b ≡ a b % φ ( n ) + φ ( n ) ( m o d n ) 若b>\varphi(n),则a^b \equiv a^{b\%\varphi(n)+\varphi(n)}( mod \quad n) b>φ(n),abab%φ(n)+φ(n)(modn)

2.2.2 光速幂

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:57:15  更:2022-02-09 20:58:20 
 
开发: 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 18:19:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码