热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

转载自某百度空间“素数分解为平方和”

素数分解为平方和定理:设p是素数,则p是两个数的平方和,当且仅当p≡1(mod4)或p2。要由p≡1(mod4)推出p是两个数的平方和需要
素数分解为平方和

定理:设p是素数,则p是两个数的平方和,当且仅当p≡1 (mod 4)或p=2。

要由p≡1 (mod 4)推出p是两个数的平方和需要使用费马的无限下降算法:设p≡1 (mod 4),目的是找出A2+B2=p的一组解。

1 先找出一组可行解满足A2+B2=Mp,其中M2≡-1 (mod p)的某个解,B取1。任取一个数1(p-1)/4 (mod p),则由24章的定理可知A2≡a(p-1)/2≡(a/p) (mod p),即A2不是1就是-1,而且概率都是50%。多取几次a,必定能找到A2≡-1 (mod p)的解。

2 计算u≡A,v≡B&#xff0c;且-0.5M<&#61;u,v<&#61;0.5M的u和v。

3 由于u2&#43;v2≡A2&#43;B2≡0 (mod M)&#xff0c;可设u2&#43;v2&#61;Mr&#xff08;1<&#61;r

4 相乘&#xff0c;即(u2&#43;v2)(A2&#43;B2)&#61;M2rp。

5 上式可化为(uA&#43;vB)2&#43;(vA-uB)2&#61;M2rp。

6 左右都除以M2&#xff0c;得

((uA&#43;vB)/M)2&#43;((vA-uB)/M)2&#61;rp。

可以证明M|uA&#43;vB且M|vA-uB。

7 若r&#61;1&#xff0c;则算法结束&#xff0c;否则转2.

算法每次都维护一组可行解A2&#43;B2&#61;Mp&#xff0c;且每次执行都使得M单调递减。实际上&#xff0c;可以证明r<&#61;M/2&#xff0c;即系数至少会折半&#xff0c;因此总的运行次数是log级的。

对于任意整数a,如果a&#61;p1p2&#xff0c;且p1,p2都是符合上一章中分解条件的素数。设p1&#61;u2&#43;v2,p2&#61;A2&#43;B2&#xff0c;则

a&#61; (u2&#43;v2)(A2&#43;B2)&#61;(uA&#43;vB)2&#43;(vA-uB)2

换句话说&#xff0c;只要a分解质因数后所有的因子都是可分解的素数&#xff0c;则a可分解为两个整数的平方和。

定理&#xff1a;(a) 设m是正整数&#xff0c;且m&#61;p1p2…pr&#xff0c;其中p1…pr互不相同。则m可分解为两个整数的平方和当且仅当所有的pi≡1 (mod 4)或等于2。

(b) m可写成m&#61;a2&#43;b2 (其中gcd(a,b)&#61;1)当且仅当它满足下列条件之一&#xff1a;

(i) m是奇数且任何m的素因数模4余1

(ii) m是偶数&#xff0c;m/2满足(i)。

再考虑一下勾股数&#xff0c;可以得出结论&#xff1a;

一个数c是一组本原勾股数中最大的数&#xff0c;当且仅当c的素因数都模4余1。


转:https://www.cnblogs.com/wujiawei/archive/2010/08/17/1801727.html



推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文介绍了求解gcdexgcd斐蜀定理的迭代法和递归法,并解释了exgcd的概念和应用。exgcd是指对于不完全为0的非负整数a和b,gcd(a,b)表示a和b的最大公约数,必然存在整数对x和y,使得gcd(a,b)=ax+by。此外,本文还给出了相应的代码示例。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • SAP羞辱国产软件商:技术停在10年前
    SAP中国研究院总裁芮祥麟表示,国产软件厂商过于热衷概念炒作,技术水平停留在10年前的客户端架构水平。他认为,国内厂商推出基于SOA的产品或转型SAAS模式是不可能的,研发新架构需要时间。当前最热门的概念是云计算,芮祥麟呼吁国产厂商应该潜心研发底层架构。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文讲述了孙悟空写给白骨精的信件引发的思考和反省。孙悟空在信中对自己的行为进行了反思,认识到自己胡闹的行为并没有给他带来实际的收获。他也揭示了西天取经的真相,认为这是玉皇、菩萨设下的一场陷阱。他还提到了师傅的虚伪和对自己的实心话,以及自己作为师傅准备提拔的对象而被派下来锻炼的经历。他认为路上的九九八十一难也都是菩萨算计好的,唐僧并没有真正的危险。最后,他提到了观音菩萨在关键时刻的指导。这封信件引发了孙悟空对自己行为的思考和反省,对西天取经的目的和自己的角色有了更深入的认识。 ... [详细]
  • Windows2003 IIS上设置301定向,实现不带www域名跳转带www域名的方法
    打开IIS,建一个网站,主机头用不带www的域名,随便指向一个目录。然后在这个网站上点右键,属性--主目录--重定向到URL如图ÿ ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
author-avatar
红山村樵夫_799
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有