数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 蔡家雄

勾股数新公式

  [复制链接]
 楼主| 发表于 2021-1-26 18:34 | 显示全部楼层
顶礼虚云老和尚 ! ! !
回复 支持 反对

使用道具 举报

发表于 2021-2-9 13:39 | 显示全部楼层
wlc1老师您好:感谢您关注!
学生我的只不过是一个小题,怎值老师夸赞啊!

点评

费老师,你太谦虚了!但,过于谦虚阻碍进步!  发表于 2021-2-9 19:18
回复 支持 反对

使用道具 举报

发表于 2021-2-9 20:46 | 显示全部楼层
蔡老师您好:
您的帖子,135#楼、136#楼太棒了!学生我还没看懂啊!以后我还请老师指点!谢谢!
回复 支持 反对

使用道具 举报

发表于 2021-2-10 12:09 | 显示全部楼层
2^(2-1)组=2组?
由于勾股数公式是2元的就是含有两个变量的,并不像单一的变量一样可以由小到大连续变化就找到的,组合数组是很多的,不连续的,复杂!不好弄!我有空好好考虑考虑吧。
最好用逻辑推理证明一下!
回复 支持 反对

使用道具 举报

发表于 2021-2-10 12:12 | 显示全部楼层
由于a+b= 2021,二者有关联性,可能是可以转化为一个变量的公式,从而可以验证或证明!
很有趣,有空考虑考虑再说!
回复 支持 反对

使用道具 举报

发表于 2021-2-10 14:09 | 显示全部楼层
b=14或b=15,a从1开始算起,直到x+y>2021为止,看看有没有满足条件的整数解。

点评

第2步:且 a 与 b=2021-a 互质,即为所求:本原勾股数。  发表于 2021-2-10 14:46
第1步:先计算 [a^2+(2021-a)^2]^(1/2)=整数,则 a, b=2021-a 可知,弄出程序来!  发表于 2021-2-10 14:41
回复 支持 反对

使用道具 举报

发表于 2021-2-10 15:06 | 显示全部楼层
额,先不考虑互质,弄一下试试:
有3组解/解/2021/0/2021/解/1505/516/1591/解/516/1505/1591
哪个对?
回复 支持 反对

使用道具 举报

发表于 2021-2-10 15:12 | 显示全部楼层
其实就是一组解,除了a=0的不算,另两组是一样的。
回复 支持 反对

使用道具 举报

发表于 2021-2-14 11:43 | 显示全部楼层
本帖最后由 ysr 于 2021-2-14 07:43 编辑

当x+y=10001有4组解: /解/8181/1820/8381其中(x + z) / 2=8281其方根为:91
/解/6165/3836/7261其中(x + z) / 2=6713其方根为:81.9328993750374
/解/4745/5256/7081其中(x + z) / 2=5913其方根为:76.8960337078578
/解/1197/8804/8885其中(x + z) / 2=5041其方根为:71
若方根不是整数的话,以前的勾股数公式能解出来吗?如何解的?

Private Sub Command1_Click()
Dim a, b, x, y, z, m
m = Text2
b1 = m / 2
b = 0
s1 = 0
Do While b < Val(b1) + 2
a = b
b = b + 1
Print b
Do While a < Val(m)
a = a + 1
x = a - b
y = 2 * (a * b) ^ (1 / 2)
z = Sqr(x ^ 2 + y ^ 2)
If InStr(z, ".") = 0 And x + y = Val(m) Then
m1 = (x + z) / 2
m2 = Sqr(m1)
s = s & "/解/" & x & "/" & y & "/" & z & "其中(x + z) / 2=" & m1 & "其方根为:" & m2 & vbCrLf
s1 = s1 + 1
Else
s = s
End If
Loop
Loop
Text1 = Text1 & "当x+y=" & m & "有" & s1 & "组解: " & s
End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Form1.Cls
End Sub
回复 支持 反对

使用道具 举报

发表于 2021-2-15 08:26 | 显示全部楼层
代码如下:

Private Sub Command1_Click()
Dim x, y, z
m1 = Text2
m = 1
Do While m <= Val(m1)
m = m + 1
x = 1
s = 0
Do While x < Val(m) / 2 + 1

y = Val(m) - x
z = Sqr(x ^ 2 + y ^ 2)
If InStr(z, ".") = 0 Then
s = s & "/解/" & x & "/" & y & "/" & z
s1 = s1 + 1
Else
s = s
End If
x = x + 1
Loop

Text1 = Text1 & "x+y=" & m & "有" & s1 & "组解: " & s & vbCrLf
Loop
End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""

End Sub
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-4-16 12:37 , Processed in 0.081055 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表