费马平方和定理

费马平方和定理的表述是:奇素数能表示为两个平方数之和的充分必要条件是该素数被4除余1.

1. 如果两个整数都能表示为两个平方数之和的形式,则他们的积也能表示为两个平方数之和的形式。

$$\begin{aligned}\left(a^{2}+b^{2}\right)\left(c^{2}+d^{2}\right) &=a^{2} c^{2}+a^{2} d^{2}+b^{2} c^{2}+b^{2} d^{2} \\ &=\left(a^{2} c^{2}+b^{2} d^{2}-2 a b c d\right)+\left(a^{2} d^{2}+b^{2} c^{2}+2 a b c d\right) \\ &=(a c-b d)^{2}+(a d+b c)^{2} \end{aligned}$$

2. 如果一个能表示为两个平方数之和的整数,能被另一个能表示为两个平方数之和的素数整除,则他们的商也能表示为两个平方数之和。

即 $\frac{a^{2}+b^{2}}{p^{2}+q^{2}}=\left(\frac{q p+b q}{p^{2}+q^{2}}\right)^{2}+\left(\frac{a q-b p}{p^{2}+q^{2}}\right)^{2}$

3.如果 $a$ 和 $b$ 互质,则 $a^2+b^2$ 的所有因子都能表示成两个平方数之和

4. 任何形如 $4n+1$ 的素数都能表示为两个平方数之和的形式

婆罗摩笈多-斐波那契恒等式

婆罗摩笈多-斐波那契恒等式是以下的恒等式:

$$\begin{aligned}\left(a^{2}+b^{2}\right)\left(c^{2}+d^{2}\right) &=(a c-b d)^{2}+(a d+b c)^{2} \\ &=(a c+b d)^{2}+(a d-b c)^{2} \end{aligned}$$

这个恒等式说明了如果有两个数都能表示为两个平方数的和,则这两个数的积也可以表示为两个平方数的和。例如,

欧拉四平方和定理

欧拉四平方和恒等式说明,如果两个数都能表示为四个平方数的和,则这两个数的积也能表示为四个平方数的和。等式为:

$$\begin{aligned}\left(a_{1}^{2}+a_{2}^{2}+a_{3}^{2}+a_{4}^{2}\right)\left(b_{1}^{2}+b_{2}^{2}+b_{3}^{2}+b_{4}^{2}\right) &=\\\left(a_{1} b_{1}-a_{2} b_{2}-a_{3} b_{3}-a_{4} b_{4}\right)^{2}+& \\\left(a_{1} b_{2}+a_{2} b_{1}+a_{3} b_{4}-a_{4} b_{3}\right)^{2}+& \\\left(a_{1} b_{3}-a_{2} b_{4}+a_{3} b_{1}+a_{4} b_{2}\right)^{2} &+\\\left(a_{1} b_{4}+a_{2} b_{3}-a_{3} b_{2}+a_{4} b_{1}\right)^{2} \end{aligned}$$

拉格朗日四平方和定理

四平方和定理:每个正整数均可表示成4个整数的平方和。

注意有些整数不可表示为3个整数的平方和,例如7。

等价的说法是:每个正整数均可表示成不超过四个整数的平方之和。

重要推论:

1. 数 $n$ 只能表示成四个整数的平方和,不能表示成更少个数的平方和,必定满足 $4^a(8b+7)$.

2. 如果 n%4==0,k=n/4,n 和 k 可由相同个数的整数表示

如何利用推论求一个正整数最少需要多少个数的平方和表示:

1. 先判断这个数是否满足 $4^a(8b+7)$,如果满足,那么这个数就至少需要 4 个数的平方和表示。

2. 如果不满足,再在上面除以 4 之后的结果上暴力尝试只需要 1 个数就能表示和只需要 2 个数就能表示的情况。

3. 如果还不满足,那么就只需要 3 个数就能表示。

参考链接:

1. https://zh.wikipedia.org/wiki/费马平方和定理

2.https://zh.wikipedia.org/wiki/婆罗摩笈多-斐波那契恒等式

3. https://zh.wikipedia.org/wiki/欧拉四平方和恒等式

4. https://blog.csdn.net/qq_41746268/article/details/98513714

5. https://blog.csdn.net/l_mark/article/details/89044137

费马平方和定理&&斐波那契恒等式&&欧拉四平方和恒等式&&拉格朗日四平方和定理的更多相关文章

  1. SPOJ 5152 Brute-force Algorithm EXTREME && HDU 3221 Brute-force Algorithm 快速幂,快速求斐波那契数列,欧拉函数,同余 难度:1

    5152. Brute-force Algorithm EXTREME Problem code: BFALG Please click here to download a PDF version ...

  2. 3969 [Mz]平方和【斐波那契平方和】

    3969 [Mz]平方和  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 大师 Master 题解  查看运行结果     题目描述 Description 斐波那契数列:f[0 ...

  3. 牛客多校第九场 && ZOJ3774 The power of Fibonacci(二次剩余定理+斐波那契数列通项/循环节)题解

    题意1.1: 求\(\sum_{i=1}^n Fib^m\mod 1e9+9\),\(n\in[1, 1e9], m\in[1, 1e4]\) 思路1.1 我们首先需要知道斐波那契数列的通项是:\(F ...

  4. 算法笔记_001:斐波那契数的多种解法(Java)

    本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数.具体问题及解法如下: 一.问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第 ...

  5. 2021.07.26 P1011 车站(斐波那契数列)

    2021.07.26 P1011 车站(斐波那契数列) [P1011 NOIP1998 提高组] 车站 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.改变形式的斐波那契 ...

  6. M斐波那契数列(矩阵快速幂+费马小定理)

    M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Sub ...

  7. HDU 4549 M斐波那契数列(矩阵快速幂+费马小定理)

    M斐波那契数列 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submi ...

  8. HDOJ 4549 M斐波那契数列 费马小定理+矩阵高速幂

    MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i )   ( i>=3) mod 1000000007 是质数 , 依据费马小定理  a^phi( p ) = 1 ( ...

  9. HDU4549 M斐波那契数列 —— 斐波那契、费马小定理、矩阵快速幂

    题目链接:https://vjudge.net/problem/HDU-4549 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Li ...

随机推荐

  1. 关于ENVI5.0菜单栏不能正常显示(win7 x86系统)

    在安装了envi5.0之后,打开显示的并不是之前4.8版本的样式也就罢了,还不能正常的将菜单栏显示出来. 上网搜了下,发现又是一个是版本兼容的问题 解决: 找到Envi5.0 右键---属性---兼容 ...

  2. IIS上传文件大小限制和上传时间限制

    1.打开某一发布网站的配置编辑器 2.设置上传时间限制 3.设置上传文件大小限制 另一种方法: 直接在网站根目录建一个web.config文件 <?xml version="1.0&q ...

  3. mysql数据库备份工具xtrabackup

    1.下载二进制安装包 其他高版本测试缺少依赖 2.xtrabackup参数说明 简介:  Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工 ...

  4. python之lambda、filter、map、reduce的用法说明(基于python2)

    python中有一些非常有趣的函数,面试的时候可能会遇到.今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,m ...

  5. GitHUB帐号申请及相关操作

    GitHUB帐号申请及相关操作 GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.GitHub 于 2008 年 4 月 10 ...

  6. SpringBoot整合junit

    SpringBoot整合junit 主要分为4步 添加依赖 创建测试类 在测试类上添加注解 在测试类注入测试对象 1:导入依赖包 <dependency> <groupId>o ...

  7. Task 小记

    1. 注意 Task 执行的顺序. 如下代码: IQueryable<T> querySet; if (preConditionExpression == null) { querySet ...

  8. Blockstack: A Global Naming and Storage System Secured by Blockchains

    作者:Muneeb Ali, Jude Nelson, Ryan Shea, and Michael Freedman Blockstack Labs and Princeton University ...

  9. 2019-11-29-WPF-高速书写-StylusPlugIn-原理

    原文:2019-11-29-WPF-高速书写-StylusPlugIn-原理 title author date CreateTime categories WPF 高速书写 StylusPlugIn ...

  10. Ubuntu 16.04 ssh协议连接root管理员用户

    首先先给自己的Ubuntu 创建一个root密码.毕竟登陆的时候都是用户登陆的. 在 命令行中输入  sudo passwd // 设置root密码 password for func : //输入用 ...