费马平方和定理&&斐波那契恒等式&&欧拉四平方和恒等式&&拉格朗日四平方和定理
费马平方和定理
费马平方和定理的表述是:奇素数能表示为两个平方数之和的充分必要条件是该素数被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
费马平方和定理&&斐波那契恒等式&&欧拉四平方和恒等式&&拉格朗日四平方和定理的更多相关文章
- 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 ...
- 3969 [Mz]平方和【斐波那契平方和】
3969 [Mz]平方和 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 斐波那契数列:f[0 ...
- 牛客多校第九场 && 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 ...
- 算法笔记_001:斐波那契数的多种解法(Java)
本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数.具体问题及解法如下: 一.问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第 ...
- 2021.07.26 P1011 车站(斐波那契数列)
2021.07.26 P1011 车站(斐波那契数列) [P1011 NOIP1998 提高组] 车站 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.改变形式的斐波那契 ...
- M斐波那契数列(矩阵快速幂+费马小定理)
M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Sub ...
- HDU 4549 M斐波那契数列(矩阵快速幂+费马小定理)
M斐波那契数列 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Submi ...
- HDOJ 4549 M斐波那契数列 费马小定理+矩阵高速幂
MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i ) ( i>=3) mod 1000000007 是质数 , 依据费马小定理 a^phi( p ) = 1 ( ...
- HDU4549 M斐波那契数列 —— 斐波那契、费马小定理、矩阵快速幂
题目链接:https://vjudge.net/problem/HDU-4549 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Li ...
随机推荐
- STM32开发/烧录/调试环境搭建 基于:Win10+STM32Cube+openocd+cmsis-dap(dap-link)
dap-link是个不错的STM32下载/调试工具,然而STM32Cube并没有直接支持它,只能通过openocd的方式间接支持. 网络上虽然已经有了其他人的教程,不过基本都是基于linux或者msy ...
- boolean 属性的定义规范
[强制]POJO类中的任何布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化错误.说明:在本文MySQL规约中的建表约定第一条,表达是与否的值采用is_xxx的命名方式,所以,需要在< ...
- docker搭建php环境
前言 本文根据参考文章,自己动手试了搭建PHP环境,对里面的Dockerfile的编写 做了最新的修改,以此记录,完整代码查看传送门 说明: 镜像下载过慢,可使用国内镜像加速,具体可自行查询 根据此方 ...
- 在 C++ 中使用 QML 对象
看过了如何在 QML 中使用 C++ 类型或对象,现在来看如何在 C++ 中使用 QML 对象. 我们可以使用 QML 对象的信号.槽,访问它们的属性,都没有问题,因为很多 QML 对象对应的类型,原 ...
- XC7K325TFFG900 Device 内部结构图
- 集合类源码(三)Collection之List(CopyOnWriteArrayList, Stack)
CopyOnWriteArrayList 功能 全名 public class CopyOnWriteArrayList<E> implements List<E>, Rand ...
- 027 奥展项目涉及的javascipt知识点笔记
1.获取指定div标签内的所有input标签 let inputs = document.getElementById("inspect-part1").getElementsBy ...
- 使用spring jpa hibernate框架时报错:javax.validation.UnexpectedTypeException: HV000030
错误信息: [#%&*^]20190521121942:497.!react:all.,RctJobExecutor-1#D9AA5167921A464CA9DDA14943545426%NA ...
- Prometheus 告警分配到指定接收组
Prometheus 告警分配到指定接收组 route属性用来设置报警的分发策略,它是一个树状结构,按照深度优先从左向右的顺序进行匹配. 主要处理流程:1. 接收到Alert,根据labels判断属于 ...
- KVM虚拟机网络配置 Bridge方式,NAT方式
https://blog.csdn.net/hzhsan/article/details/44098537/