费马平方和定理

费马平方和定理的表述是:奇素数能表示为两个平方数之和的充分必要条件是该素数被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. Visual Studio 调试系列10 附加到正在运行的进程

    系列目录     [已更新最新开发文章,点击查看详细] 可将 Visual Studio 调试器附加到本地或远程计算机上正在运行的进程. 进程运行后,在 Visual Studio 中选择“调试” & ...

  2. 【操作系统之十四】iptables扩展模块

    1.iprange 使用iprange扩展模块可以指定"一段连续的IP地址范围",用于匹配报文的源地址或者目标地址.--src-range:匹配报文的源地址所在范围--dst-ra ...

  3. flutter RN taro选型思考

    当前RN已经成熟,但是依赖于大平台(JD.携程),小公司想开箱即用还是有困难的 纯Flutter还远未成熟,更多的是和原生进行混合 但是作为个体又想要在某一个点切入市场,就是需要作选择,基于当下及未来 ...

  4. 安卓 apk 嵌入H5页面只显示部分

    安卓 apk 嵌入H5页面只显示部分(有空白页出现) 解决方案 没有加载的是js部分,需要在安卓那边加上一串代码 webView.getSetting().setDomStorageEnabled(t ...

  5. vue同一个路由,但参数发生变化,页面不刷新的问题(vue监听路由参数变化重新渲染页面)

    watch: { $route: function(newVal, oldVal) { console.log(oldVal); //oldVa 上一次url console.log(newVal); ...

  6. 阿里云Centos7用putty ssh链接掉线

    解决方法:修改云服务器 ssh 配置文件(修改前一定要先备份) (1)打开配置文件: vim /etc/ssh/sshd_config 1 (2)找到下面两行: ClientAliveInterval ...

  7. 递归---Day29

    递归的概述 递归:指在当前方法内自己调用自己的方式叫做递归 递归的分类: 1.直接递归称为方法自身调用自己. 2.间接递归可以用A方法调用B方法,用B方法调用C方法,用C方法调用A方法. 递归的注意事 ...

  8. nginx 反向代理时丢失端口的解决方案(转)

    今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题.但一旦设置为监听其他端口,就一直跳转不正常:如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端 ...

  9. 原生ajax中readyState中的含义以及HTTP协议状态码的含义

    xmlhttp.readyState的值及解释: 0:请求未初始化(还没有调用 open()). 1:请求已经建立,但是还没有发送(还没有调用 send()). 2:请求已发送,正在处理中(通常现在可 ...

  10. kali2.0升级

    1.登录kali2.0系统 2 2.修改软件源APT-sources.list vim /etc/apt/sources.list 3 可以删除该文件中的所有内容,也可以直接在文前添加新的APT源. ...