## 用户名 Email 自动登录 找回密码 密码 注册
 搜索 热搜: 活动 交友 discuz

# 勾股数新公式 [复制链接] 发表于 2021-2-15 09:17 | 显示全部楼层
 x+y=2有组解： 0 x+y=3有组解： 0 x+y=4有组解： 0 x+y=5有组解： 0 x+y=6有组解： 0 x+y=7有2组解： 0/解/3/4/5/解/4/3/5 x+y=8有2组解： 0 x+y=9有2组解： 0 x+y=10有2组解： 0 x+y=11有2组解： 0 x+y=12有2组解： 0 x+y=13有2组解： 0 x+y=14有3组解： 0/解/6/8/10 x+y=15有3组解： 0 x+y=16有3组解： 0 x+y=17有4组解： 0/解/5/12/13 x+y=18有4组解： 0 x+y=19有4组解： 0 x+y=20有4组解： 0 x+y=21有5组解： 0/解/9/12/15 x+y=22有5组解： 0 x+y=23有6组解： 0/解/8/15/17 x+y=24有6组解： 0 x+y=25有6组解： 0 x+y=26有6组解： 0 x+y=27有6组解： 0 x+y=28有7组解： 0/解/12/16/20 x+y=29有7组解： 0 x+y=30有7组解： 0 x+y=31有8组解： 0/解/7/24/25 x+y=32有8组解： 0 x+y=33有8组解： 0 x+y=34有9组解： 0/解/10/24/26 x+y=35有10组解： 0/解/15/20/25 x+y=36有10组解： 0 x+y=37有10组解： 0 x+y=38有10组解： 0 x+y=39有10组解： 0 x+y=40有10组解： 0 x+y=41有12组解： 0/解/20/21/29/解/21/20/29 x+y=42有13组解： 0/解/18/24/30 x+y=43有13组解： 0 x+y=44有13组解： 0 x+y=45有13组解： 0 x+y=46有14组解： 0/解/16/30/34 x+y=47有15组解： 0/解/12/35/37 x+y=48有15组解： 0 x+y=49有17组解： 0/解/9/40/41/解/21/28/35 x+y=50有17组解： 0 x+y=51有18组解： 0/解/15/36/39 x+y=52有18组解： 0 x+y=53有18组解： 0 x+y=54有18组解： 0 x+y=55有18组解： 0 x+y=56有19组解： 0/解/24/32/40 x+y=57有19组解： 0 x+y=58有19组解： 0 x+y=59有19组解： 0 x+y=60有19组解： 0 x+y=61有19组解： 0 x+y=62有20组解： 0/解/14/48/50 x+y=63有21组解： 0/解/27/36/45 x+y=64有21组解： 0 x+y=65有21组解： 0 x+y=66有21组解： 0 x+y=67有21组解： 0 x+y=68有22组解： 0/解/20/48/52 x+y=69有23组解： 0/解/24/45/51 x+y=70有24组解： 0/解/30/40/50 x+y=71有25组解： 0/解/11/60/61 x+y=72有25组解： 0 x+y=73有26组解： 0/解/28/45/53 x+y=74有26组解： 0 x+y=75有26组解： 0 x+y=76有26组解： 0 x+y=77有27组解： 0/解/33/44/55 x+y=78有27组解： 0 x+y=79有28组解： 0/解/16/63/65 x+y=80有28组解： 0 x+y=81有28组解： 0 x+y=82有29组解： 0/解/40/42/58 x+y=83有29组解： 0 x+y=84有30组解： 0/解/36/48/60 x+y=85有31组解： 0/解/25/60/65 x+y=86有31组解： 0 x+y=87有31组解： 0 x+y=88有31组解： 0 x+y=89有32组解： 0/解/33/56/65 x+y=90有32组解： 0 x+y=91有33组解： 0/解/39/52/65 x+y=92有34组解： 0/解/32/60/68 x+y=93有35组解： 0/解/21/72/75 x+y=94有36组解： 0/解/24/70/74 x+y=95有36组解： 0 x+y=96有36组解： 0 x+y=97有37组解： 0/解/13/84/85 x+y=98有39组解： 0/解/18/80/82/解/42/56/70 x+y=99有39组解： 0 x+y=100有39组解： 0 x+y=101有39组解： 0 有重复的解吗？ 发表于 2021-2-15 22:53 | 显示全部楼层
 本帖最后由 ysr 于 2021-2-15 23:31 编辑 当x+y=10001有4组解： /解/8181/1820/8381其中(x + z) / 2=8281其方根为：91 /解/1197/8804/8885其中(x + z) / 2=5041其方根为：71 /解/4745/5256/7081其中(x + z) / 2=5913其方根为：76.8960337078578 /解/6165/3836/7261其中(x + z) / 2=6713其方根为：81.9328993750374 这回快一点，代码如下： Private Sub Command1_Click() Dim a, b, x, y, z, m m = Text2 b1 = m / 2 b2 = b1 / 3 s1 = 0 Do While t < Val(b2) + 2 t = t + 1 b = 0 Do While t * b ^ 2 < Val(b1) + 2 a = b b = b + 1 Do While t * a ^ 2 < Val(m) a = a + 1 x = t * (a ^ 2 - b ^ 2) y = 2 * a * b * t 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 s1 = s1 End If Loop Loop Loop Text1 = Text1 & "当x+y=" & m & "有" & s1 + s2 & "组解： " & s End Sub Private Sub Command2_Click() Text1 = "" Text2 = "" Form1.Cls End Sub 发表于 2021-2-16 01:22 | 显示全部楼层
 传一下这个快速版可执行程序：（仅供参考，欢迎朋友使用）

### 本帖子中包含更多资源

x 发表于 2021-2-16 03:18 | 显示全部楼层
 快速程序出来了，9位以内的勾股数都可以，超过9位就失效了。对a+b=163500169验证了一下，几分钟就出来结果，结果是正确的，就是364组解。 代码如下: Private Sub Command1_Click() Dim x, Y, z m = Text2 x = 1 Do While x < Val(m) / 2 + 1 Y = Val(m) - x z = Sqr(x ^ 2 + Y ^ 2) If InStr(z, ".") = 0 Then If MPC(MPC1(MbC(Trim(x), Trim(x)), MbC(Trim(Y), Trim(Y))), MbC(Trim(z), Trim(z))) = 0 Then s = s & "/解/" & x & "/" & Y & "/" & z s1 = s1 + 1 Else s1 = s1 End If Else s1 = s1 End If x = x + 1 Loop Text1 = Text1 & "有" & s1 & "组解： " & s End Sub Private Sub Command2_Click() Text1 = "" Text2 = "" End Sub Public Function MbC(D1 As String, D2 As String) As String '乘法 Dim x, Y '两数长度 x = Len(D1): Y = Len(D2) Dim a() As Integer ReDim a(1 To x + Y, 1 To Y) Dim I, J, C1, C2, CJ, JW For J = Y To 1 Step -1 'D2 JW = 0 '进位清0 C2 = Mid$(D2, J, 1) '每位数 For I = x To 1 Step -1 'D1 C1 = Mid$(D1, I, 1) '每位数   CJ = C1 * C2 + JW '计算乘积   c = I + J: r = Y + 1 - J   a(c, r) = CJ Mod 10 '本位   JW = CJ \ 10 '进位 Next a(c - 1, r) = JW Next Dim b() As Integer ReDim b(1 To x + Y) JW = 0 For I = x + Y To 1 Step -1 Bit = JW For J = 1 To Y   Bit = Bit + a(I, J) Next b(I) = Bit Mod 10 JW = Bit \ 10 Next If b(1) > 0 Then MbC = MbC & b(1) Else MbC = MbC End If For I = 2 To x + Y MbC = MbC & b(I) Next End Function Public Function MPC(D1 As String, D2 As String) As String ';jianfaqi Dim x, Y ';两数长度 If Len(D1) >= Len(D2) Then D4 = String(Len(D1) - Len(D2), "0") & D2 d3 = D1 Else D4 = D2 d3 = String(Len(D2) - Len(D1), "0") & D1 End If x = Len(d3): Y = Len(D4) Dim a() As Integer, B1() As Integer, C1() As Integer, E1() As Integer ReDim a(1 To x) ReDim B1(1 To Y) ReDim C1(1 To x) ReDim E1(1 To x) Dim I, J, C2, CJ, JW For J = Y To 1 Step -1 ';D2 JW = 1 ';yu jie weichuzhi B1(J) = Mid(D4, J, 1) ';每位数 For I = x To 1 Step -1  ';D1    a(I) = Mid(d3, I, 1) ';每位数    C1(I) = 10 + a(I) - B1(I) - 1 + JW ';计算jia    JW = C1(I) \ 10    E1(I) = C1(I) Mod 10   Next   Next   For r = 1 To x   MPC = MPC & E1(r)   For I = 1 To Len(MPC)     If Not Mid(MPC, I, 1) = "0" Then         Exit For     End If Next strtmp = Mid(MPC, I)   If Len(strtmp) = 0 Then   MPC = "0"   Else MPC = strtmp End If   Next       End Function   Public Function MPC1(D1 As String, D2 As String) As String 'jiafa Dim x, Y '两数长度 If Len(D1) >= Len(D2) Then D4 = String(Len(D1) - Len(D2), "0") & D2 d3 = D1 Else D4 = D2 d3 = String(Len(D2) - Len(D1), "0") & D1 End If x = Len(d3): Y = Len(D4) Dim a() As Integer, B1() As Integer, C1() As Integer, E1() As Integer ReDim a(1 To x) ReDim B1(1 To Y) ReDim C1(1 To x) ReDim E1(1 To x) Dim I, J, C2, CJ, JW For J = Y To 1 Step -1 'D2 JW = 0 '进位清0 B1(J) = Mid$(D4, J, 1) '每位数 For I = x To 1 Step -1 'D1 a(I) = Mid$(d3, I, 1) '每位数    C1(I) = a(I) + B1(I) + JW '计算jia    JW = C1(I) \ 10    E1(I) = C1(I) Mod 10   Next   Next   For r = 1 To x   If JW = 0 Then   MPC1 = MPC1 & E1(r)   Else   jc = jc & E1(r)   MPC1 = JW & jc   End If   Next    End Function 发表于 2021-2-16 03:21 | 显示全部楼层
 传一下这个更快的快速版可执行程序：（仅供参考，欢迎朋友使用）

### 本帖子中包含更多资源

x 发表于 2021-2-18 13:15 | 显示全部楼层
 蔡家雄 发表于 2021-2-18 12:56 请 ysr 兄： 删除你在第15页 至 第21页中的你的几十个贴子， 最后这个快速程序是完善的，可以保留吗？

### 点评 发表于 2021-2-18 13:22 | 显示全部楼层
 蔡家雄 发表于 2021-2-18 12:56 请 ysr 兄： 删除你在第15页 至 第21页中的你的几十个贴子， 电脑反应慢，明天再说吧，到单位电脑上弄吧！谢谢沟通，您辛苦了，祝愿新年快乐！ 发表于 2021-3-13 08:48 | 显示全部楼层
 wlc1 发表于 2021-3-13 10:42 程中永老师：您好！我相信你能够解决这个小题目吧！ 求：8^3+b^3+c^3= (c+3)^3 的正整数解，谢谢！！ 老师您好，感谢您的关注！ 天天打工赚钱养家糊口，您提的问题有一定难度，我也没有把握解出啊！看来，您已经解过了，找不到解吧？其实，这样的同次幂不定方程非常复杂，人们还没有掌握其真正的规律啊！ 发表于 2021-5-5 05:53 | 显示全部楼层
 将 n^2 末二位数为 44 的正整数 n ，按从小到大次序排成无穷数列 a1,a2,a3,…，求 a10 发表于 2021-5-5 06:01 | 显示全部楼层
 将 n^6 末二位数为 44 的正整数 n ，按从小到大次序排成无穷数列 a1,a2,a3,…，求 a10

 您需要登录后才可以回帖 登录 | 注册 本版积分规则 回帖并转播 回帖后跳转到最后一页

GMT, 2023-12-7 06:01 , Processed in 0.083008 second(s), 19 queries .