[二次剩余]求解二次剩余

二次剩余方程求解 题目描述:给定方程x2=a(modp),p为素数,求在区间(0,p)的解。 首先,需要判断是否有解,方程有解充要条件为a(p-1)/2=1(modp)。 充分性: 设一原根g,存在唯一的k,使得g^k=a(modp);a(p-1)/2=g^((p-1)*k/2)=(g^((p-1)/2))^k=(-1)^k(modp)=1,因此k为偶数。 所以g^(k/2)是方程的根,得证。 必 阅读详情

Description

求解x2≡n(modp)。p是一个奇质数。

Solution

由费马小定理

np−1≡1(modp)
所以
np−12≡±1(modp)
由欧拉准则
(np)≡np−12(modp)
其中
(np)
为勒让德符号。因为x≡n12(modp),所以有xp−1≡np−12≡1(modp)。即
(np)=⎧⎩⎨⎪⎪1−10n在模p意义下是二次剩余n在模p意义下不是二次剩余n≡0(modp)
设
k=a2−n,ω=k√
则该方程的解为
x≡(a+ω)p+12(modp)
证明:若k是该模意义下的非二次剩余,则
wp−1=np−12=−1
同时:
(a+b)p≡ap+bp(modp)
则
x21≡≡≡≡≡≡≡≡(a+ω)p+1(a+ω)p(a+ω)(ap+ωp)(a+ω)(ap−1a+ωp−1ω)(a+ω)(a−ω)(a+ω)a2−ω2a2−(a2−n)n(modp)
另一解为
x2≡−x1(modp)

如何找到这个k呢。因为非二次剩余的个数大约有一半,随机几次即可。
后面去实现了一下,发现要重新定义一个复数域Fp2,然后就好啦。
struct Complex {
    ll r, i;
    Complex(ll _r = 0, ll _i = 0):r(_r), i(_i) {}
    inline Complex operator +(ll x) {
        return Complex((x + r) % P, i);
    }
    inline Complex operator *(Complex a) {
        ll rr = (a.r * r % P + w * a.i % P * i % P + P * 3) % P,
            ii = (a.i * r % P + a.r * i % P) % P;
        return Complex(rr, ii);
    }
};

inline ll Qr(ll x, ll p) {
    if (Pow(x, (P - 1) / 2) == P - 1) return -1;
    if (Pow(x, (P - 1) / 2) == 0) return 0;
    ll a;
    Complex k(0, 1);
    while (true) {
        a = rand();
        if (Pow((a * a - x + P) % P, (P - 1) / 2) == P - 1) break;
    }
    w = (a * a - x + P) % P;
    return Pow(k + a, (P + 1) / 2);
}

从判别到求解:二次剩余的算法实现与数论之美 本文深入探讨了二次剩余理论及其算法实现,包括勒让德符号、欧拉准则和Cipolla算法。通过详细的代码示例和实际应用案例,展示了如何高效判别和求解二次同余方程,并揭示了其在密码学等领域的重要价值。文章还分享了算法优化技巧和常见陷阱,帮助读者深入理解数论之美。 阅读详情

相关推荐

二次剩余 数论 例题 讲解

二次剩余 数论 例题 讲解 经典第四章 平方剩余 Quadratic Residue

二次同余方程(二次剩余)

文章目录一、介绍1.定义2.定理二、判别1.勒让德符号(Legendre Symbol)2.欧拉判别准则(Euler's criterion)(1)内容(2)证明(3)注意三、x2≡n(modx^2≡n(modx2≡n(mod p)p)p)——奇波拉算法(Cipolla's algorithm)1.操作2.证明x=(a+a2−n)p+12x=(a+\sqrt{a^2-n})^{\frac{p+1}{2}}x=(a+a2−n​)2p+1​为解四、模板题代码五、x2≡n(modx^2≡n(modx2≡n(mo.

qq_52441682的博客 9440

K8s入门教程(一)

本教程提供了Kubernetes(K8s)的入门指南,涵盖了从基础概念到实战操作的全面内容。首先介绍了Kubernetes的定义和核心功能,如自动化部署、弹性伸缩、自我修复等。接着,详细讲解了如何在macOS上安装Minikube和kubectl工具,以及如何使用这些工具创建和管理Pod、Deployment和Service等核心资源。教程还包括了实战案例,如部署Nginx应用,并介绍了高级特性如滚动更新和自动伸缩。最后,提供了常见问题的解决方案,帮助用户快速上手和解决实际使用中的问题。

2401_82505179的博客 1689

二次剩余 (模板)

二次剩余 ​ 一个数 aaa,如果不是 ppp 的倍数且模 ppp 同余于某个数的平方,则称 aaa 为模 ppp 的 二次剩余。而一个不是 ppp 的倍数的数 bbb,不同余于任何数的平方,则称 bbb 为模 ppp 的 非二次剩余。 对二次剩余求解,也就是对常数 aaa 解下面的这个方程: x2≡a(modp)(0<=x<p) x^2 \equiv a \pmod p (0<= x<p) x2≡a(modp)(0<=x<p) 这里只讨论 p\boldsymbol{

yezzz的博客 539

液冷方式介绍

如果将直径在1~100nm的颗粒悬置在传热流体(例如:水、乙烯、乙二醇等)中时,其传热能力会得到提升,因为大多数固体材料的热导率要大于液体,因此由颗粒、流体组成的混合物热导率也高于液体本身的热导率,由此制成的流体,我们称之为纳米流体。金属冷管的液体工质蒸散量几乎为0,而柔软材质的管道则会产生液体的蒸散,在封闭式循环系统中,为了弥补液体工质的蒸散,必须定期在系统中补充液体工质。——我们之前说过,材料的导电和导热的机制大致是类似的,所以导电能力更强的金属往往具有更好的导热能力。

制冷技术咨询与服务的博客 2031

图论:Dijkstra算法——最详细的分析,图文并茂,一次看懂!

Dijstra算法

普罗米修斯的博客 18万+

二次剩余

按照惯例先%mmh 例题:P5491 【模板】二次剩余 题目背景 模板题,无背景。 题目描述 求解方程 x2≡N(mod p) 多组数据。 保证p是奇素数 输入格式 第一行一个整数T表示数据组数。 接下来T行,每行一个N一个p。 输出格式 输出共T行。 对于每一行输出: 若有解,则按mod p后递增的顺序输出在mod p意义下的全部解. 若两解相同,只输出其中一个; 若无解,则输出Hola!; 输...

_Griefs 241

MOOS-ivp 实验三 MOOS简介(3)

MOOS-ivp 实验三 MOOS简介(3) 继上一篇文章继续对实验进行记录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录MOOS-ivp 实验三 MOOS简介(3)六、A Simple Example with pXRelay1.pXRelay基本使用2.pXRelay简单例子3.pXRelay实验七、First Experiments in Modifying MOOS App Code1.下载一个MOOS模板文件2.打开MOOS模板文件总结 六、A Simple E

weixin_44151170的博客 2534

二次剩余定理详解

title: 二次剩余定理详解 date: 2019-09-10 13:09:36 tags: - 数论 mathjax: true 二次剩余 x2≡n(mod p)x^2≡n(mod\ p)x2≡n(mod p) 对于这个方程,求出满足的x。 引理1 首先来看一个符号 (np) (\frac{n}{p}) (pn​) 这个符号叫做勒让德符号,这个符号里有两个值,一个是n,一...

weixin_44203780的博客 7794

ADS重新安装失败排查指南:从注册表清理到环境变量配置

本文详细解析了ADS重新安装失败的常见原因及解决方案,包括注册表残留清理、license路径锁定处理和环境变量配置。通过分步指南和实用技巧,帮助工程师高效解决安装问题,确保软件正常运行。

weixin_42524708的博客 455

联想服务器ThinkSystemRAID阵列设置教程

关注我不迷路,全是干货! 以联想ThinkSystemSR530为例子进行示范。 开机点按【F1】 点击——【UEFI设置】 依次点击——【系统设置】——【存储】 点击——【RAID卡】 PS:本次服务器配置的是730-8i 阵列卡,按实际情况选中需要设置的阵列卡即可。 点击——【Main Menu】 点击——【Configuration Management】 点击——【Create Virtual Drive】 点击——【Select RAID Leve..

littlelotusK的博客 2万+

二次同余方程模合数的一般解法

0.不讨论复杂情况的解释 对于一般的二次同余方程形如 可以通过配方化为下式 可通过换元,得到 解出X的取值,然后用2ax+b回带,用扩展欧几里得解线性同余方程就可以得到方程本来的解 注意上式得到了一般二次同余方程的形式,即 下文讨论上式的一般解法,并给出代码进行解释1.朴素的二次同余方程的解法 因为,因此很明显可以直接枚举。时间复杂度,如果m稍微大一些效率就会很低2.对

Quack 1万+

Linux | Ubuntu18.04安装WIFI6 AX201驱动完整教程

本节介绍了如何在Ubuntu18下安装AX201驱动的教程。

九七的博客 8880

二次剩余求解问题

二次剩余求解问题 x2≡a(modp)x^2\equiv a\pmod px2≡a(modp) 对应xxx的解。 先上个代码,有时间再开坑。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+9; #define mst(a) memset(a,0,sizeof a) #define lx x<<1 #d

Harris-H的博客 1078

为Ollama本地大模型添加持久化记忆层:openclaw-ollama-memory项目详解

在构建基于大型语言模型(LLM)的对话应用时,上下文管理是核心技术挑战之一。其原理在于模型本身不具备跨会话的持久化记忆能力,每次请求都是独立的。这导致在多轮对话中,模型无法有效利用历史信息,用户体验割裂。从技术价值看,独立的记忆层通过解耦推理与存储,能突破模型固定上下文窗口的限制,实现更智能、连贯的交互。其核心应用场景包括聊天机器人、智能助手及需要长期记忆的复杂代理。本文聚焦的 openclaw-ollama-memory 项目,正是为 Ollama 生态提供的记忆层解决方案,它通过向量检索和智能摘要等机制

weixin_42521558的博客 312

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【模板】【证明】任意模数下的二次剩余求解

什么是二次剩余问题 就是求解形如x2≡a&amp;amp;amp;nbsp;(mod&amp;amp;amp;nbsp;p)x^2\equiv a \text{ } ( mod\text{ }p )x2≡a&amp;amp;amp;nbsp;(mod&amp;amp;amp;nbsp;p) 的关于xxx的方程。 下面从不同的模数开始分类讨论解决二次剩余问题的方法 几个定义 如果关于xxx的方程 x2≡a&amp;amp;amp;nbsp;(mod&

zxyoi_dreamer的博客(不定期诈尸) 8911

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

二次剩余推理及其求解过程

定义: \quad给出一个式子x2≡n(modp)x^2≡n(mod p)x2≡n(modp),再给出nnn和ppp,如果能求得一个x满足该式子,即xxx满足x2=n+kp,k∈Zx^2=n+kp,k\in Zx2=n+kp,k∈Z,那么我们称nnn是模ppp的二次剩余,若不存在这样的xxx,那么我们称nnn是摸ppp的非二次剩余。同时我们称xxx为该二次同余方程的解。 应用: \quad对于一个...

邵光亮的博客 3676

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

二次剩余问题x的求解及代码实现(python)

二次剩余

shshss64的博客 2757

二次剩余学习笔记

二次剩余学习笔记 前言 咕了很久,一直想学这算法来着,真是神仙算法。。。 问题: 求解\(x^2 \equiv n \pmod{p}(p为奇素数)\) 解析 定义1 称\(n\)为模\(p\)意义下的二次剩余当且仅当\(x^2 \equiv n \pmod{p}\)有解,非二次剩余同理。 定理1 当且仅当\(n^{\frac{p-1}{2}} \equiv 1 \pmod{p}\)时,\...

245

二次剩余及其计算方法

前言 在有些时候,我们会需要求解这样的问题x2≡a(modp)x^2\equiv a\pmod{p}x2≡a(modp) 给定aaa求是否有xxx满足这个式子,若有r则称a是模p的二次剩余 若没有满足条件的xxx,则称a是模p的非二次剩余 然而在一些题目中,我们既要判定它是否是模p的二次剩余,也要判断其值,本文就对此进行一些探究 对于所有模数 二次剩余数量 我们发现a2≡(p−a)2(modp)a...

zhouyuheng2003的博客 1万+

「学习笔记」二次剩余

目录 前置芝士——二次剩余 二次剩余 二次剩余的个数 欧拉准则 过程 定理一 定理二 定理三 证明 关于 ω 代码实现 ...

MachineryCountry的博客 502

二次剩余(模板)

二次剩余 存在 \(x^2\ \%\ p = n\), 如果存在这样的\(x\)那么,认为\(( \dfrac{n}{p})\) 有解。 \((\dfrac{n}{p}) = 1\): n在模p意义下是二次剩余 \((\dfrac{n}{p}) = -1\):a在模p意义下是非二次剩余 \((\dfrac{n}{p}) = 0\) :\(n\ \% \ p = 0\) 若\(p\)是...

baodiaofu5127的博客 380

「学习笔记」二次剩余 - 二次剩余 - 学习笔记

下文只在模质数意义下讨论。 即给定n&amp;gt;0,p,pn&amp;gt;0,p,pn&gt;0,p,p是质数,求所有x∈[0,p),x2=n(modp)x\in[0,p),x^2=n\pmod px∈[0,p),x2=n(modp)。 若存在解则nnn称为ppp的二次剩余。 首先将p=2p=2p=2的特殊情况判掉。下文ppp是奇质数。 首先显然模奇质数ppp意义下会有恰好p−12\frac...

Mys_C_K的博客 1181

知识点 - 二次剩余

知识点 - 二次剩余 解决问题类型: 求模意义下的平方根 一些公式推导有用 定义 q被称作模n的二次剩余quadratic residue 当且仅当存在x使得: x2=q(mod n) x^2=q(mod\ n) x2=q(mod n) 否则q被称作二次非剩余quadratic nonresidue 性质 两个二次剩余的乘积还是二次剩余 模n的二次剩余的数量不会超过n/2 + ...

qq_41848675的博客 4338
上一篇: BZOJ 3590 [双连通分量][状压DP]
下一篇: 2017 计蒜之道 初赛 第五场 D UCloud 的安全秘钥(困难)[Hash]
Vectorxj
博客等级 码龄11年 35粉丝 231原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值