费马平方和定理

费马平方和定理的表述是:奇素数能表示为两个平方数之和的充分必要条件是该素数被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. Redis数据结构及常用命令(草稿)

    通用命令 数据类型 string 字符 list 列表 set 集合 zset 有序集合 hash 散列(字典中的字典) bitmap 位图 hyperloglog

  2. 第30课 线程同步(std::condition_variable)

    一. 条件变量 (一)条件变量概述 多线程访问一个共享资源(或称临界区),不仅需要用互斥锁实现独享访问避免并发错误,在获得互斥锁进入临界区后,还需检查特定条件是否成立.当某个线程修改测试条件后,将通知 ...

  3. ant-design-pro引用css

    ant-design-pro中默认只能引用less文件,引用了css文件也是无效的.所以需要在配置文件config.js中找到  cssLoaderOptions,在 getLocalIdent中加入 ...

  4. springboot: xercesImpl.jar和xml-apis.jar (系统找不到指定的文件)

    springboot内置的tomcat为8.5.23, tomcat在8.5.2 中 修改了加载jar的方式,8.5.2 版本会解析jar中MANIFEST.MF文件,当该文件包含class-path ...

  5. file 从InputStream读取byte[]示例

    file 从InputStream读取byte[]示例 分类专栏: java基础   public static byte[] getStreamBytes(InputStream is) throw ...

  6. win10安装MySQL5.6.

    我分了两种下载安装的方式给大家看,注意数据库这个东西不在乎版本是不是最新,在乎的是够稳定,现在公司中常用的是mysql5.5和mysql5.6的版本,我现在就用mysql5.6的版本给大家来演示一下: ...

  7. H5离线缓存(基础)学习指南

    离线缓存 application cache 1. 什么是离线缓存: 离线缓存可以将站点的一些文件缓存到本地,它是浏览器自己的一种机制,将需要的文件缓存下来,以便后期即使没有连接网络,被缓存的页面也可 ...

  8. kubernetes学习Service之headless和statefulSet结合

    一.首先说headless Service和普通Service的区别 headless不分配clusterIP headless service可以通过解析service的DNS,返回所有Pod的地址 ...

  9. MySQL报错合集解决办法: server has gone away, @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON

    server has gone away: 如下图 执行以下命令 show global variables like '%timeout%'; set global interactive_time ...

  10. MySQL复制技术

    MySQL高可用方案 投票选举机制,较复杂 MySQL本身没有提供replication failover的解决方案,自动切换需要依赖MHA脚本 可以有多台从库,从库可以做报表和备份 MySQL复制技 ...