基本概念

本文以《初等数论及其应用 (原书第6版)》13.1 毕达哥拉斯三元组 为基础。为叙述简便,把毕达哥拉斯三元组(Pythagorean Triples)称为勾股数。
另外,也可以参考《数学女孩2 费马大定理》第2章 勾股定理。

本原勾股数 ( x , y , z ) (x,y,z) (x,y,z)满足
x 2 + y 2 = z 2 x^2+y^2=z^2 x2+y2=z2

x , y , z ∈ Z + x,y,z \in Z^+ x,y,z∈Z+

G C D ( x , y , z ) = 1 GCD(x,y,z)=1 GCD(x,y,z)=1

( x , y , z ) (x,y,z) (x,y,z)可以用以下公式推导, ( m , n ) (m,n) (m,n)在OEIS上称为the generator pairs of primitive Pythagorean triples。
x = m 2 − n 2 x=m^2-n^2 x=m2−n2

y = 2 m n y=2mn y=2mn

z = m 2 + n 2 z=m^2+n^2 z=m2+n2

其中 ( m , n ) (m,n) (m,n)满足
m , n ∈ Z + m,n \in Z^+ m,n∈Z+

m > n m>n m>n

G C D ( m , n ) = 1 GCD(m,n)=1 GCD(m,n)=1

m ̸ ≡ n ( m o d 2 ) ⇔ m + n ≡ 1 ( m o d 2 ) m \not\equiv n \pmod 2 \Leftrightarrow m+n \equiv 1 \pmod 2 m̸​≡n(mod2)⇔m+n≡1(mod2)

本原勾股数 ( x , y , z ) (x,y,z) (x,y,z)与符合上述条件的(m,n)是一一对应的。
最小值 ( m , n ) = ( 2 , 1 ) , ( x , y , z ) = ( 3 , 4 , 5 ) (m,n)=(2,1), (x,y,z)=(3,4,5) (m,n)=(2,1),(x,y,z)=(3,4,5)。

问题

给定m,有多少个n满足上述条件, ( m , n ) (m,n) (m,n)能生成本原勾股数?
定义n的个数为 a ( m ) a(m) a(m)。

举例

图1 给定m,能够生成本原勾股数的n及其个数 a ( m ) a(m) a(m),包括特例 ( m , n ) = ( 1 , 0 ) (m,n)=(1,0) (m,n)=(1,0),即 ( x , y , z ) = ( 1 , 0 , 1 ) (x,y,z)=(1,0,1) (x,y,z)=(1,0,1)。

图2 a ( m ) a(m) a(m)与 ϕ ( m ) \phi(m) ϕ(m)比较
.

(m,n) in OEIS

下面这两个数列是一对(序号相邻),从(m,n)=(2,1)开始。
http://oeis.org/A094192
Values x of the generator pairs (x, y), x>y of primitive Pythagorean triples, sorted.
2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 12,
http://oeis.org/A094193
Values y of the generator pairs (x, y), x>y of primitive Pythagorean triples, sorted on x.
1, 2, 1, 3, 2, 4, 1, 5, 2, 4, 6, 1, 3, 5, 7, 2, 4, 8, 1, 3, 7, 9, 2, 4, 6, 8, 10, 1, 5, 7, 11,

分析

  1. a ( m ) &lt; = m − 1 a(m)&lt;=m-1 a(m)<=m−1因为 1 ≤ n &lt; m 1 \le n &lt; m 1≤n<m。
  2. m和n互质。如果只考虑这两个条件,就是 ϕ ( m ) \phi(m) ϕ(m)。
    参见《初等数论及其应用 (原书第6版)》7.1欧拉函数。
  3. 还有一个条件m和n奇偶性不同,这点是欧拉函数没有的。所以 ( m , n ) (m,n) (m,n)的条件比欧拉函数严格, a ( m ) ≤ ϕ ( m ) a(m)\le\phi(m) a(m)≤ϕ(m)。
  4. 如果m是偶数,所有小于m的偶数(2…m-2)都不与m互质,欧拉函数计算的都是小于m且与m互质的奇数,符合欧拉函数的数同样也满足 ( m , n ) (m,n) (m,n)的条件,所以 a ( m ) = ϕ ( m ) a(m)=\phi(m) a(m)=ϕ(m)。
  5. 如果m是奇质数, ϕ ( m ) = m − 1 \phi(m)=m-1 ϕ(m)=m−1,其中奇偶各半。剔除奇数保留偶数, a ( m ) = ϕ ( m ) / 2 = ( m − 1 ) / 2 a(m)=\phi(m)/2=(m-1)/2 a(m)=ϕ(m)/2=(m−1)/2。
  6. 如果m是奇合数,上面一点同样适用,欧拉函数中奇偶各半, a ( m ) = ϕ ( m ) / 2 &lt; ( m − 1 ) / 2 a(m)=\phi(m)/2&lt;(m-1)/2 a(m)=ϕ(m)/2<(m−1)/2。注意,因为有系数1/2, a ( m ) a(m) a(m)不是乘性函数。

a(n) in OEIS

http://oeis.org/A055034
a(1) = 1, a(n) = phi(2*n)/2 for n>1.
1, 1, 1, 2, 2, 2, 3, 4, 3, 4, 5, 4,
注意这个数列是从 ( m , n ) = ( 1 , 0 ) (m,n)=(1,0) (m,n)=(1,0)开始的。和上面的分析相比,表述稍有差异,结果是一致的。
a ( n ) = ϕ ( 2 n ) / 2 f o r n &gt; 1 a(n)=\phi(2n)/2 \ for\ n&gt;1 a(n)=ϕ(2n)/2 for n>1
当n是奇数, ϕ ( 2 n ) = ϕ ( n ) , a ( n ) = ϕ ( n ) / 2 \phi(2n)=\phi(n), a(n)=\phi(n)/2 ϕ(2n)=ϕ(n),a(n)=ϕ(n)/2
当n是偶数, ϕ ( 2 n ) = 2 ϕ ( n ) , a ( n ) = ϕ ( n ) \phi(2n)=2\phi(n), a(n)=\phi(n) ϕ(2n)=2ϕ(n),a(n)=ϕ(n)

本原勾股数(毕达哥拉斯三元组)的个数相关推荐

  1. 勾股数(毕达哥拉斯三元组)

    勾股数(毕达哥拉斯三元组) 勾股数:可以构成一组直角三角形边长的三个正整数. eg: 3 4 5 勾股数的规律: 1)任何大于1的正奇数a=2k+1,其平方t=a^2仍为奇数,且将平方数拆成两个相邻的 ...

  2. 法里数列和本原勾股数

    法里数列 性质1:连续三项为 b a . b + d a + c . d c \frac ba .\frac{b+d}{a+c}. \frac dc ab​.a+cb+d​.cd​,且分子分母满足是互 ...

  3. 本原勾股数的表示方法

    本文以<初等数论及其应用 (原书第6版)>13.1 毕达哥拉斯三元组 为基础.为叙述简便,把毕达哥拉斯三元组(Pythagorean Triples)称为勾股数. 另外,也可以参考< ...

  4. 问题 L: 本原勾股数

    题目描述 输出不少于100组不同的本原勾股数: 1≤a≤b≤c≤10^3满足:a^2+b^2=c^2且gcd(a,b,c)=1 输入 无 输出 输出不少于100组不同的本原勾股数: 1≤a≤b≤c≤1 ...

  5. C语言求边长500以内的毕达哥拉斯三元组的个数

    #include<stdio.h> #include<math.h> #include<stdlib.h>int main() {int side1; //直角边1 ...

  6. 特殊的不定方程——毕达哥拉斯三元组(勾股数组)

    毕达哥拉斯三元组:若正整数x,y,z满足下x^2+y^2=z^2.满足这个方程的正整数三元组被称为毕达哥拉斯三元组. 本原毕达哥拉斯三元组:若gcd(x,y,a)=1,则正整数三元组被称为本原毕达哥拉 ...

  7. 数论 —— 毕达哥拉斯三元组

    [定义] 满足  的  三元组称为毕达哥拉斯三元组,当  时,称其为本原的. 毕达哥拉斯三元组,也称为勾股数. [性质] 由 x.y.z 构成的三元组 (x,y,z) ,其中 y 为偶数,那么由他们构 ...

  8. 【POj1305】毕达哥拉斯三元组

    1.题目链接.这个题目是在求这样的一个问题:三个正整数x,y,z都小于等于N,这三个数组成一个三元组(x,y,z).其中,他们两两互质,也就是说(x,y,z)=1.并且x*x+y*y=z*z.求出这样 ...

  9. 用Python求1~1万范围内的勾股数元组

    上篇文章求1~100范围内容勾股数元组,运行正常:但是后来把范围调整到1000,程序就运行得超级慢,笔记本差点死机.试着改良一下程序,花了一晚上时间,重写了一版. 这次程序运行快了很多,求1千以内勾股 ...

最新文章

  1. 分别使用委托、接口、匿名方法、泛型委托实现加减乘除运算
  2. Spring boot添加员工
  3. windowbuilder点击按钮出现新界面_MIUI 10 负一屏,新界面新体验
  4. SpringMVC-注解@RequestParam
  5. Oracle之SQL分析函数
  6. 12 个问题搞懂 Redis
  7. M1 三合一机床电路故障检测
  8. 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
  9. 机器学习到底能替人干哪些工作?《科学》列出了8条评估标准
  10. 2013,安全管理平台(SOC)业务的重新崛起
  11. 【图像压缩】基于matlab GUI哈达玛变换图像压缩【含Matlab源码 845期】
  12. VB2010的串口能正常接收数据,但无法发送数值大于127的数据
  13. 专门感染word文件的计算机病毒是什么,计算机病毒分类及详细介绍.doc
  14. 文献综述_软件单元测试
  15. Mac 技巧|忘记了开机密码的解决办法
  16. LSL-- Events
  17. B站季报图解:营收10.8亿同比增48% 用户增长超预期
  18. 【githubshare】免费开源的视频编辑器,兼容 Windows、macOS、Linux 等主流操作系统。支持最新音视频格式与 4K 分辨率,可实现视频特效
  19. gmail 邮箱附件大小 突破10M
  20. 人工智能在项目管理中具有哪些优势?

热门文章

  1. 树莓派3B连接wifi
  2. centos7下安装PHP7
  3. 蓝桥杯 2020省赛 数字三角形 java
  4. html css廖雪峰,廖雪峰js教程笔记12 用DOM更新 innerHMTL 和修改css样式(示例代码)
  5. 简约而不简单!分布式锁入门级实现主动续期-自省
  6. 一些HTML常用标签【码住!】
  7. 盒子塌陷及实战常用的总结,隐士转换
  8. 关于日本法律,保险,养老,劳动法等,一些官方网站
  9. 物流查询 批量查询物流信息并复制快递单号和公司
  10. onedrive共享文件_如何从OneDrive共享内容