费马平方和定理

费马平方和定理的表述是:奇素数能表示为两个平方数之和的充分必要条件是该素数被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. DingTalk钉钉消息推送(.net core 3 WebApi尝鲜记)

    我发了个朋友圈,Swagger真他妈的牛B,解放了开发API的码农,麻麻再也不用担心我们写API文档耽误回家吃饭了. /// <summary> /// 发送钉钉消息 /// </s ...

  2. BeanCreationException: Error creating bean with name 'classPathFileSystemWatcher'之解决办法

    错误关键信息: BeanCreationException: Error creating bean with name 'classPathFileSystemWatcher' 错误原因:Idea不 ...

  3. bootstarp treeview 获取勾选和获取Selected选中

    在用treeview的时候,经常会遇到一些官网没有详细说明的东西,比如获取勾选和获取选中的方法,获取选中官网是有明显说明的, 如下 : $('#resourceTree').treeview('get ...

  4. 【2019-08-29】让自己着眼当下,真TM不容易

    07:50 天是蓝色的,路面是灰色的,树是绿色的,那个奶茶店的招牌是白色的.我的表情是木讷的,老婆的表情是嫌弃的,那个路人的表情是无解的,地铁工作人员的表情是无奈的刚才回到公司看到那个通宵了的同事的表 ...

  5. $scope里的$watch方法

    一.$watch的作用 监听model,如果model发生变化,则触发某些事情. 二.$watch的格式 $scope. $watch(watchFn,watchAction,deepWatch); ...

  6. DFRobot模块物联网演示项目整合

    简介 本文是此次物联网项目的终结篇.本文将演示如何整合之前的文章中的模块和代码,来简单的完成一个物联网项目.最终的实现效果是:利用Iphone手机上的MQTTool App,来获取DHT11的温湿度数 ...

  7. layui 在页面弹出小窗口,并关闭

    function showdialog() { layer.open({  type: 2,  title: '发起调度', shadeClose: true, shade: 0.8, area: [ ...

  8. Matplotlib 绘图与可视化 一些控件的介绍和属性,反正就是乱七八糟的

    这个链接里有下面这个图(图里还有超链接):https://matplotlib.org/3.1.1/api/artist_api.html#matplotlib.artist.Artist 各种图例: ...

  9. spring data jpa hql动态查询案例

    目的:根据入参条件不同,动态组装hql里的where语句. 1. 实现代码 public List<WrapStatis> queryStatisCriteriaBuilder(Strin ...

  10. spring AOP的两种配置

    xml配置 定义要被代理的方法的接口 public interface TestAop { public void print(String s); } 实现上述接口 public class Tes ...