首页 > 其他分享 >数论总结_同余相关

数论总结_同余相关

时间:2024-01-31 18:11:20浏览次数:31  
标签:总结 方程 gcd 数论 ll exgcd mm ax 同余

贰. 与数论函数联系不大的东西

二.定理

费马小定理&欧拉定理

  • 若 \(p\) 为质数且 \(a \not \equiv 0\pmod p\),则 \(a^{p-1}\equiv 1\pmod p\).

  • 若 \(\gcd(a,m)=1\),则 \(a^{\varphi(m)}\equiv 1\pmod m\).

三.算法

1.欧几里得相关

求 \(\gcd\)

\[\gcd(a,b)=\begin{cases}a & b=0 \\ \gcd(b,a\bmod b) & b\not = 0\end{cases} \]

利用这个东西递归计算即可。

扩展欧几里得(exgcd)求解同余方程

  • 记 \(g=\gcd(a,b)\),求解下列方程:\(ax+by=g\)

设计函数 exgcd(ll a,ll b,ll &x,ll &y)

当 \(b=0\) 时,我们解此时的方程 \(a_0x+b_0y=g=a_0\),只需令 \(x=1,y=0\) 即可。

若已经知道了 \(bx+(a\bmod b)y=g\) 的一组解 \(x_0,y_0\),如何借出方程 \(ax+by=g\) 的一组解?

\[\begin{aligned}bx_0+(a\bmod b)y_0&=bx_0+(a-\lfloor \frac{a}{b} \rfloor \cdot b)y_0 \\&=bx_0+ay_0- \lfloor \frac{a}{b} \rfloor \cdot by_0 \\&=a(y_0)+b(x_0-\lfloor \frac{a}{b} \rfloor \cdot y_0)\end{aligned}\]

于是我们就得到了一组解 \(x=y_0,y=x_0-\lfloor \frac{a}{b} \rfloor \cdot y_0\),不停地向上回溯即可解出原方程的解。

代码:

ll exgcd(ll a,ll b,ll &x,ll &y){
	if(!b){ x=1,y=0;return a; }
	ll d=exgcd(b,a%b,x,y);
	ll z=x; x=y; y=z-y*(a/b);//妈妈生的!!a/b要带括号!!! 
	return d;
}
  • 方程 \(ax+by=c\) 当且仅当 \(\gcd(a,b)\,\mid \,c\) 时有解。

  • 解同余方程 \(ax\equiv b\pmod m\) 时,只需解出 \(ax-my=b\) 的一组解即可。当且仅当 \(\gcd(a,m)\,\mid \,b\) 时有解。

//解同余方程 ax≡b(mod m)
ll TYFC(ll a,ll b,ll m){
	ll x,y,mm; 
	ll G=exgcd(a,m,x,y);
	if(b%G) return -1;
	x*=b/G;mm=m/G;
	return (x%mm+mm)%mm;
}

类欧几里得算法

单独写一篇博客了,在这里

2.其他

(一)筛法

①埃氏筛

\(\color{red}\text{咕咕咕咕咕}\)

②线性筛

\(\color{red}\text{咕咕咕咕咕}\)

标签:总结,方程,gcd,数论,ll,exgcd,mm,ax,同余
From: https://www.cnblogs.com/baoyangawa/p/17999856

相关文章

  • 不移其志,踏浪前行 | 北京智和信通召开2023年度工作总结大会
    岁聿云暮,新元肇启,2024年1月24日,北京智和信通技术有限公司(以下简称“北京智和信通”)召开2023年度年终总结大会。会上,各部门负责人全面分析公司业务发展态势,各部门员工依次汇报主要工作情况,深入剖析存在问题,并提出2024年工作开展思路。公司领导充分肯定2023年各部门在产品迭代、市......
  • Unity引擎2D游戏开发,滑铲功能实现总结
    滑铲到悬崖边下落时无法取消动画由于是使用的协程方式实现,所以当滑铲到悬崖边的时候,不能使用yieldbreak,因为该指令会直接退出当前的协程方法,无法执行到isSlide=false指令privateIEnumeratorTriggerSlide(Vector3target){do{yieldreturnnull;......
  • Unity引擎2D游戏开发,滑墙及蹬墙跳的实现总结
    一、滑墙动画的实现执行动画的逻辑//在墙壁上onWall=(touchLeftWall||touchRightWall)&&!isGround;基本逻辑:紧贴墙壁并且不在地面上的时候执行滑墙动画但是实际上,紧贴墙壁原地跳起也会执行滑墙动画所以,需要额外添加一个条件。跳起离开地面,并施加与面朝X轴方向的力......
  • iMessage蓝号检测,苹果iMessages短信,iMessages群发,iMessages推信,完美实现总结 - 电
    一、PC电脑版苹果系统(MacOS)上实现imessages群发总结为以下几种方式:/*MacOS苹果系统,正常情况下,只能安装到苹果公司自己出品的Mac电脑,俗称白苹果,不能安装到各种组装机或者其他品牌的品牌机上,黑苹果的的原理,就是通过一些“破解补丁”工具欺骗macOS系统,让苹果系统认为你的电......
  • RK3568驱动指南|驱动基础进阶篇-进阶8 内核运行ko文件总结
    瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和MaliG522EE图形处理器。RK3568支持4K解码和1080P编码,支持SATA/PCIE/USB3.0外围接口。RK3568内置独立NPU,可用于轻量级人工智能应用。RK3568支持安卓11和linux系统,主要面向......
  • 李宏毅《机器学习》总结 - Transformer
    前言当时老师要求我做transformer和self-attention的ppt,结果当时在训练ACM没大有时间,就弄了个质量不高的,不出意外的被喷了。。。现在回头看看当时做的整体没有大问题,但是由于知识没有连贯起来导致有些地方没有提到,也没有形成一个比较完整的架构。Transformer能做的任务......
  • 后端写法总结
    一、类型转换之间的工具类packagecom.hengan.citicPlatGunNew.utils;importorg.apache.commons.compress.utils.Lists;importorg.springframework.beans.BeanUtils;importorg.springframework.util.CollectionUtils;importjava.util.Collection;importjava.util.Li......
  • vue 前端写法总结
    一、图片 1、<divclass="loginDiv":style="'background-image:url('+Background+');'"> 2、 <img:src="Logo"class="img-logo"><script><!--引入样式-->import'@/assets/styl......
  • 今日总结
    <properties><spark.version>2.1.0</spark.version><scala.version>2.11</scala.version></properties><dependencies><dependency><groupId>org.apache.spark</groupId><artifa......
  • 大模型模型结构总结
    对比各个大模型的网络结构ps:使用自己的config,但是模型结构跟官方配置原理一致.chatglm3ChatGLMForConditionalGeneration((transformer):ChatGLMModel((embedding):Embedding((word_embeddings):Embedding(65024,4096))(rotary_pos_emb):Rotar......