数学中国

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

朋友,请看一下重要启示!

[复制链接]
 楼主| 发表于 2023-1-20 12:49 | 显示全部楼层
代码如下:
Private Sub Command1_Click()
Dim a, B, s4, ak()
a = Val(Text1)
B = Val(Text2)

s = "160225, 204425, 226525, 292825, 320450, 337025, 348725, 386425, 403325, 408850, 416585, 453050, 456025, 480675, 491725, 493025, 499525, 505325, 531505, 535925, 544765, 558025, 574925, 585650, 588965, 602225, 613275, 624325, 637325, 640900"
s4 = Split(s, ",")
j = UBound(s4)
For k = 1 To j
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s4(n1)
      s12 = s12 & "/" & Val(ak(n1)) ^ 2
    Next
  Do While a1 <= B
  a1 = a1 + 1
  s1 = s1 & "/" & a1 ^ 2
Loop
s6 = paixu3(Trim(s12), Trim(s12))
s3 = paixu0(Trim(s6), Trim(s6))
's3 = "/" & s3
s5 = Split(s3, "/")
j1 = UBound(s5)
Text3 = "有" & j1 & "组" & s3
End Sub

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

End Sub


Private Function paixu0(a As String, B As String) As String
Dim i As Integer
Dim ak(), s105, cr(), f, bk()
s103 = a
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
s205 = Split(B, "/")
   j1 = UBound(s105)
   j2 = UBound(s205)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    For k = 1 To j2
      n2 = n2 + 1
        ReDim Preserve bk(1 To n2)
       bk(n2) = s205(n2)
    Next
   
     n = 0
        For k = 1 To j1
           For i = 1 To j2
             n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k)) + Val(bk(i))
            f(m) = ""
            If InStr(Sqr(Val(m)), ".") = 0 And Val(ak(k)) <> 0 And Val(bk(i)) <> 0 Then
            s22 = s22 & "/" & m
            Else
            s22 = s22
            End If
      Next
    Next
      
         MsgBox "ok"
     MsgBox s22  '显示数组
     paixu0 = s22
End Function


Private Function paixu3(a As String, B As String) As String
Dim i As Integer
Dim ak(), s105, cr(), f, bk()
s103 = a
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
s205 = Split(B, "/")
   j1 = UBound(s105)
   j2 = UBound(s205)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    For k = 1 To j2
      n2 = n2 + 1
        ReDim Preserve bk(1 To n2)
       bk(n2) = s205(n2)
    Next
   
     n = 0
        For k = 1 To j1
           For i = 1 To j2
             n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k)) + Val(bk(i))
            f(m) = ""
      Next
    Next
      n = 0
      m = f.Keys
      For i = 0 To j1
          ReDim Preserve cr(1 To i + 1)
          cr(i + 1) = m(i)
      Next
     For i = 1 To UBound(cr) - 1
        For j = i + 1 To UBound(cr)
            If cr(i) > cr(j) Then
                temp = cr(j)
                cr(j) = cr(i)
                cr(i) = temp  'c数组是排序好的
            End If
        Next j
        
       ' If i Mod 20 = 0 Then
       ' s104 = s104 & temp & "/" & vbCrLf
       ' Else
       ' s104 = s104 & temp & "/"
       ' End If
    Next i
   
      For i = 1 To UBound(cr)
        If i Mod 20 = 0 Then
          s104 = s104 & cr(i) & "/" & vbCrLf
        Else
          s104 = s104 & cr(i) & "/"
        End If
     Next
         Print temp
         MsgBox "ok"
     MsgBox s104  '显示数组
     paixu3 = s104
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-20 15:36 | 显示全部楼层
本帖最后由 ysr 于 2023-1-20 07:41 编辑

167158322500=83579161250+83579161250
167158322500=408850^2
231048455625=102688202500+128360253125
231048455625=480675^2

102688202500=320450^2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-20 18:08 | 显示全部楼层
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 ^ 2 & "/" & Y ^ 2
s2 = "/" & z ^ 2
s1 = s1 + 1
Else
s1 = s1
End If

Else
s1 = s1
End If
x = x + 1
Loop
s3 = paixu0(Trim(s2), Trim(s))
s4 = Split(s3, "/")
J = UBound(s4)
Text1 = Text1 & "有" & J + 1 & "组解: " & s3
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

Private Function paixu0(a As String, B As String) As String
Dim i As Integer
Dim ak(), s105, cr(), f, bk()
s103 = a
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
s205 = Split(B, "/")
   j1 = UBound(s105)
   j2 = UBound(s205)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    For k = 1 To j2
      n2 = n2 + 1
        ReDim Preserve bk(1 To n2)
       bk(n2) = s205(n2)
    Next
    Print ak(1)
     n = 0
        For k = 1 To j1
           For i = 1 To j1
             n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k)) + Val(bk(i))
            f(m) = ""
            If InStr(Sqr(Val(m)), ".") = 0 Then
            s22 = s22 & "/" & m
            Else
            s22 = s22
            End If
      Next
    Next
      
     paixu0 = s22
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


这个代码输入11608511999,拆分3个平方数的和也是平方数居然无解
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-20 20:11 | 显示全部楼层
当x+y=163500169有364组解:
/        x^2       /       y^2
/26235229728839041/2332462017600
/24845165545521049/34535320808976
/22617293166039961/171864234090000
/22293442953192321/201364046478400
/20584356247635049/401107805960976
/19684272109821201/538217728230400
/16917396654673449/1117783944092176
/13705687644691849/2155640526623376
/12942304350534001/2473661738246400
/12328880705753049/2752542227784976
/10420507899030321/3772327955718400
/9321386737034241/4482682784065600
/8312419103555961/5231296187290000
/8158889067311761/5354375736960000
/7350231821981049/6047655896088976
/7208425846197601/6177601589198400
/6820435668793041/6547114234777600
/5826557888963449/7598308340812176
/5441748659067681/8051824645441600
/5039445077924401/8558307323654400
/4782069500995081/8901480947475600
/3281524136898921/11281749434736400
/2914033975494849/11994274681677376
/2322527562226881/13295833393153600
/1767483434019601/14752220664038400
/826112278824561/18159718564000000
/622627705395081/19195454091475600
/371903241052849/20798074674821376
/332088407763849/21105370700319376
/126083905806681/23186597530531600
/61142906888449/24236504015962176
/16434859244049/25423083041022976
/26315213223926025/1639741714576
/21533486037555625/280805226475536
/20383554157870225/429699069305856
/18533283041274001/748742962996224
/11729718509630625/3046636390966336
/9286896465417025/4506654940877376
/7696771349250025/5740929844117776
/7254253401329025/6135316941253696
/6361891298946225/7012170547599616
/5525202368207025/7951014972119296
/5064670864583001/8525506246334224
/3523479127927801/10845403700647824
/657117387758601/19006997559393424
/506580578949025/19878976419494976
/134186762377801/23078552483047824
/18460470799225/25345787526588816
/24298326551432025/58079092289296
/18800694619140625/696144162087936
/17336804825828601/1013204157633424
/14791984100534601/1753755828225424
/12609849232152225/2622114244949056
/11380473261848601/3228611040273424
/10216075775906025/3896951040718096
/8530884052956225/5060527402363456
/5647105425200625/7806242713467136
/4422449635253001/9408741593774224
/2768955433348225/12294220055524416
/2200728707205625/13592818639003536
/1398181481830225/15903203451273216
/1328264629983225/16142923219478416
/969475467232801/17520167079157824
/4613908296001/26034522118300224
/22561146987579225/176796486762256
/18429193314847225/769840737968016
/15817087007532001/1423867434652224
/15100773607892025/1649575300721296
/13881803357734225/2086580542242816
/11129951437002225/3364183746509056
/10452874668968601/3752893948113424
/9349498538768025/4463223884628496
/4270474156788225/9633678476900416
/3935617615719001/10153719847486224
/2896530507330625/12029865604393536
/1781873627940025/14710760508229776
/1703720146061025/14938712042752576
/1303246172451001/16230675406510224
/1053816827877025/17170858903565376
/339216277730625/21048886540534336
/22417207003565361/189789196960000
/20397395012663601/427692179718400
/15202428614900641/1616204020161600
/14453850811740561/1872812176000000
/13787143829731561/2123504642250000
/12253880936168001/2788148360526400
/10530739819688449/3706468886362176
/8254048291314849/5277786535437376
/5875404775113721/7542745327040400
/4221473706091161/9707628845290000
/2355820274724849/13216577821317376
/2269465650710281/13423831568787600
/1737798381974281/14838470311827600
/1272919184508049/16338508677374976
/356579358789481/20914036196259600
/244263421687041/21865903619137600
/26202165281147241/2654748835600
/23514777658493521/103121587814400
/21440371115745481/291550844019600
/16009959585359961/1366758718090000
/9786708227850849/4169591742285376
/8887456789809481/4792358145459600
/7740619936908849/5703176151429376
/6832482011651241/6535322252995600
/5488112054094849/7995645966477376
/4360422197781049/9499752930488976
/3272811213663121/11297921237222400
/2011178873976561/14078771716000000
/1489661173784641/15601019208321600
/821124441462361/18183147056010000
/204078053076921/22264990884576400
/67893133993441/24105804228993600
/23553962035946001/100544098100224
/19403877363435601/585754616807424
/17636877183249025/942260623557696
/14532544806510025/1844630688298896
/13711591483215025/2153300032624896
/12184619729121225/2821331127369616
/10593452906099001/3669411553646224
/6816613466956225/6550860128763456
/5920875435200625/7491412115067136
/3284292253475025/11276618531147776
/3184327406724025/11464054281464976
/2571250657665001/12722185954558224
/1481287733225001/15628167160478224
/1248809652927001/16425413144542224
/370780634592225/20806476934206016
/232515074918025/21978573668972176
/18150445433040921/828091556496400
/15572292773954049/1498555147302976
/14105288883644721/2001173700870400
/9020290324593681/4695670143001600
/4156170601520161/9807297411240000
/2407795515519849/13094425382127376
/1166354254421041/16730967191097600
/574095640645849/19471376994095376
/16821210386098881/1142680668673600
/15255759824895681/1598876997121600
/14402758452089049/1891264940232976
/11573949767137849/3126808856351376
/3608470857161401/10697686293344400
/2289376461910041/13375556269507600
/1472331261998961/15657316692640000
/1257189559283161/16395086674890000
/18637744530015625/727922774241936
/15153818039714025/1632105379656976
/11657305176938001/3083710619444224
/11087703552367225/3387473269616016
/3562789255701025/10776737008812096
/2918463027885601/11985294104207424
/1287364712418225/16286941993052416
/489001796158225/19990222689862656
/24952424682123225/30656198534416
/21506171172530625/283934092918336
/17551879097085025/962033445688896
/9900541537146225/4095834113679616
/6861604256709601/6506901594575424
/5075137742480001/8511938599388224
/3910016532515625/10194949785361936
/56003146425625/24341193205022736
/21542164701435049/279815144360976
/15072465288260961/1658949192040000
/11724448604337049/3049323057896976
/11023069974474481/3423345207609600
/3922362706455361/10175039337960000
/2600523579818241/12657339023425600
/2038016219338449/14008089712562176
/472941969178441/20093895998643600
/24363091943802481/54957906489600
/20994963545239321/346100630288400
/10184182155390681/3916689465571600
/7402064070492001/6000813830606400
/6634801848129849/6731525768607376
/3417980013761049/11032703305128976
/555501956289921/19580707149966400
/161709194219049/22735716948072976
/26541018641081025/343424128576
/16469206173084025/1236771624759696
/10107974901480625/3964181207521536
/7465700466361225/5943775329741456
/6574907123811601/6792128052839424
/3462898910652801/10952411156597824
/931543954652025/17683404866513296
/37339004619225/24771487447276816
/23037837754662025/137310680305296
/19843563809824225/512251964744256
/11888369760507601/2966585243111424
/10867396352708025/3510961145316496
/6119369813412801/7271615508917824
/2434153876751025/13033196048824576
/1594216835246025/15270168687730576
/1146753225425025/16805602427507776
/25004148445254001/28870934356224
/20452260815982801/419789614157824
/9249246890730025/4532947012282896
/8225975739037225/5300277391424016
/5092335945966025/8489699254110096
/4730625810407025/8971996610949376
/645191750390625/19071484053007936
/115376492409025/23335258309862976
/22999479550458849/140289242829376
/16382107958626881/1260786817153600
/10047125189151801/4002437449632400
/7516940112683521/5898221568014400
/5299503523740721/8226939878150400
/4533669461535841/9248214983169600
/1602840699753049/15243526219784976
/42414596997201/24645081435750400
/19453638540642601/577146233681424
/13107227603213601/2402310242703424
/11113942512609225/3372994147770256
/8756955313746025/4889025112206096
/2555444143062801/12757424192717824
/2079247369525225/13900741065171216
/1059349195046025/17148563541970576
/495569974482801/19948389586157824
/25132361098163449/24683766412176
/17681746657707441/931924592953600
/9816230726533449/4150358490572176
/7714898160567049/5725294524536976
/5134927580411281/8434908879897600
/4689547242312361/9028781396010000
/663533757204201/18972588590640400
/352205453961/26538592904890000
/23645026223588449/94688001562176
/19328171119278849/598995080589376
/14371082292543601/1902767213318400
/8826799608200401/4837080092774400
/4637461406990281/9101400409587600
/2595443257013049/12668555089464976
/2042632225949121/13995997309902400
/1461952924953049/15691239053384976
/26101454268708025/3766409644176
/19582522098129225/555196307260816
/12259317216683601/2785556128743424
/6869333925288025/6499378659388176
/5871850537256001/7546773573020224
/3246262866720225/11347401776865856
/805971943226025/18254853695554576
/55063835091001/24360862762990224
/16946437956895225/1110334624595856
/15140954270502225/1636330648109056
/11667885083460225/3078272741409856
/8294801527791601/5245289080199424
/4251045868002025/9662914378415376
/2332542349552801/13271908161397824
/877796163140625/17921858037031936
/15377730888025/25465369153468176
/21961718012368225/234252330532416
/7062651846972225/6313984409621056
/5695313520224601/7749785848305424
/101724269364025/23535954808376976
/22102884565411321/219922374848400
/9583429654470049/4304039117990976
/4851402357736081/8807477135385600
/92065732917921/23686773649806400
/14724756823580881/1777006928793600
/3759454788958449/10441932816722176
/2741208223189401/12352904266704400
/406230031212201/20547794758800400
/26147992482221281/3228346497600
/7317219739481001/6077671166736400
/5470322564333641/8017150145331600
/14350224372561/25507922944000000
/25510255111928601/14294962833424
/9642513530082601/4264595175761424
/3747323360698225/10462177037926656
/84648924235225/23808392482499856
/17767288569884049/912413068542976
/14422086782712049/1884269743646976
/12282000867507721/2774758868960400
/2616440044020201/12622302294960400
/26014659261266025/4882173070096
/8808479649957001/4850658363502224
/5426494655915025/8070403405259776
/58990157055025/24279767689072896
/17651487574927801/938887304647824
/3951040791863025/10128986074122496
/2576312132038225/12710935344070656
/1044763464485601/17207501875407424
/21422961753490801/293584921862400
/7748852904049761/5696113350760000
/5107159466858449/8470584063922176
/490269448236841/19982123744259600
/18923091723990441/672828608323600
/11462869900132849/3184951664261376
/2727909075313321/12381186481808400
/942643076415049/17635222751000976
/18564713508207321/742441514928400
/13775197894748521/2128196484464400
/9268104093206049/4519762105638976
/1269101366553601/16352199765518400
/25694156497772961/10279718440000
/9559573021678761/4320051674410000
/7941720094436241/5532955653145600
/745333298428849/18550270022789376
/19021756758778225/654376510054656
/13425158212990225/2268920217977856
/2695169820750625/12451244361500736
/427419444515625/20399278844689936
/25530851557575225/13811658691216
/7082781885340225/6294979047537216
/3095589825900625/11634242108276736
/721325359965001/18671218718158224
/14712184220326849/1781378175053376
/8586029230967241/5018212091635600
/4462506268772049/9350537241726976
/2170673665259121/13667873277702400
/21578383402430625/275704239670336
/9861383918859001/4121083789966224
/7675740062912601/5759120286321424
/217936277902225/22122845096150016
/20129715621634441/467465046483600
/12632889814184641/2611622904321600
/5632632937655161/7823278670490000
/90875591371161/23705929469290000
/15901687418183449/1398631047772176
/11065152582078841/3399955807539600
/3897628886966049/10214978337318976
/1076316899238361/17080634110410000
/20531964777982849/408459298061376
/6428301459002721/6942802319310400
/3574727988762841/10756000560099600
/121791728893041/23245344478777600
/16850246931867001/1135128492622224
/10373745367012225/3800547909205056
/7246303931300625/6142631847003136
/19016585361601/25325338447439424
/14009460069249225/2037493571068816
/2446865468571601/13003837085159424
/5238859333401225/8302891577001616
/35372768145001/24822843193918224
/11984072586860521/2919065845424400
/2478376261923849/12931527887199376
/20951199845655849/351745373775376
/5292674390091361/8235453600360000
/18055787353830625/848460424182336
/1143094799799225/16819621640154256
/6800689481161849/6566489059583376
/63690120010881/24186333542593600
/7473775573902001/5936574289492224
/579743582958225/19438578852668416
/14481234484676001/1862972746460224
/1498092894092025/15573783039761296
/22454813010188601/186346197153424
/7279148326305625/6112463276875536
/9330541670583441/4476337901593600
/127470716025849/23167846351935376
/10787906857792801/3556371391502400
/1175825291315481/16695187921219600
/21103426649934225/332332316640256
/171683394045601/22619368301327424
/15455563099364025/1535053907095696
/4101614082384025/9891560383592976
/14117454062173449/1996595154092176
/298045454304049/21385019171102976
/18501752975280201/755096540160400
/2871254593959921/12081544642566400
/14824388387148025/1742621981836176
/7013055693632121/6361048248192400
/1363041579488449/16022692852762176
/11370073126997025/3234154133901376
/2312483154241225/13319902968429456
/4910015252393001/8728916004254224
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-20 20:12 | 显示全部楼层
代码如下:

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 & "/" & MbC(Trim(x), Trim(x)) & "/" & MbC(Trim(Y), Trim(Y)) & vbCrLf
s2 = s2 & "/" & z ^ 2
s1 = s1 + 1
Else
s1 = s1
End If
Loop
Loop
Loop
s3 = paixu0(Trim(s2), Trim(s))

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

Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Form1.Cls
End Sub


Private Function paixu0(a As String, b As String) As String
Dim I As Integer
Dim ak(), s105, cr(), f, bk()
s103 = a
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
s205 = Split(b, "/")
   j1 = UBound(s105)
   j2 = UBound(s205)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    For k = 1 To j2
      n2 = n2 + 1
        ReDim Preserve bk(1 To n2)
       bk(n2) = s205(n2)
    Next
    Print ak(1)
     n = 0
        For k = 1 To j1
           For I = 1 To j1
             n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k)) + Val(bk(I))
            f(m) = ""
            If InStr(Sqr(Val(m)), ".") = 0 Then
            s22 = s22 & "/" & m
            Else
            s22 = s22
            End If
      Next
    Next
      n = 0
      m = f.Keys
      For I = 0 To j1
          ReDim Preserve cr(1 To I + 1)
          cr(I + 1) = m(I)
      Next
     For I = 1 To UBound(cr) - 1
        For J = I + 1 To UBound(cr)
            If cr(I) > cr(J) Then
                temp = cr(J)
                cr(J) = cr(I)
                cr(I) = temp  'c数组是排序好的
            End If
        Next J
        
       ' If i Mod 20 = 0 Then
       ' s104 = s104 & temp & "/" & vbCrLf
       ' Else
       ' s104 = s104 & temp & "/"
       ' End If
    Next I
   
      For I = 1 To UBound(cr)
        If I Mod 20 = 0 Then
          s104 = s104 & cr(I) & "/" & vbCrLf
        Else
          s104 = s104 & cr(I) & "/"
        End If
     Next
         Print temp
         MsgBox "ok"
     MsgBox s104  '显示数组
     paixu0 = s22
End Function

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
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-21 12:52 | 显示全部楼层
本帖最后由 ysr 于 2023-1-21 06:57 编辑

有3组
/205254302500=453050^2=102627151250+102627151250
/672252408100=819910^2=283583056250+388669351850
/672252408100=819910^2=388669351850+283583056250
有2组
/641801265625=801125^2=480675^2+640900^2
/641801265625=801125^2=640900^2+480675^2

有1组
/102627151250=320354.727216565^2=226525^2+226525^2
/205254302500=453050^2=102627151250+102627151250=226525^2+226525^2+226525^2+226525^2

有2组
/283583056250=532525.16959295^2=204425^2+491725^2
/283583056250=532525.16959295^2=491725^2+204425^2
/672252408100=819910^2=283583056250+388669351850=204425^2+491725^2+204425^2+588965^2

有2组
/388669351850=623433.518388288^2=204425^2+588965^2
/388669351850=623433.518388288^2=588965^2+204425^2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-21 13:32 | 显示全部楼层
本帖最后由 ysr 于 2023-1-21 06:51 编辑

有1组/376106225625=613275^2=408850^2+208947903125
有5组
/205254302500=453050^2=320354.727216565^2+320354.727216565^2
/668633290000=817700^2=500736.940668451^2+646448.610679921^2
/672252408100=819910^2=532525.16959295^2+623433.518388288^2
/672252408100=819910^2=623433.518388288^2+532525.16959295^2
/668633290000=817700^2=646448.610679921^2+500736.940668451^2
有4组
/376106225625=613275^2=408850^2+457108.196300394^2
/641801265625=801125^2=480675^2+640900^2
/641801265625=801125^2=640900^2+480675^2
/376106225625=613275^2=457108.196300394^2+408850^2


有2组
/208947903125=457108.196300394^2=204425^2+408850^2
/208947903125=457108.196300394^2=408850^2+204425^2


/376106225625=613275^2=408850^2+208947903125=408850^2+408850^2+204425^2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-21 13:34 | 显示全部楼层
Private Sub Command1_Click()
Dim a, B, ak()
a = Trim(Text1)
s = "160225, 204425, 226525, 292825, 320450, 337025, 348725, 386425, 403325, 408850, 416585, 453050, 456025, 480675, 491725, 493025, 499525, 505325, 531505, 535925, 544765, 558025, 574925, 585650, 588965, 602225, 613275, 624325, 637325, 640900"
s4 = Split(s, ",")
j = UBound(s4)
For k = 1 To j
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s4(n1)
      s12 = s12 & "/" & Val(ak(n1)) ^ 2
    Next
    s12 = s12 & "/" & a
    s6 = paixu3(Trim(s12), Trim(s12))
s3 = paixu0(Trim(s12), Trim(s12))
's3 = "/" & s3
s5 = Split(s3, "/")
j1 = UBound(s5)
Text2 = "有" & j1 & "组" & s3
End Sub

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

End Sub

Private Function paixu0(a As String, B As String) As String
Dim i As Integer
Dim ak(), s105, cr(), f, bk()
s103 = a
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
s205 = Split(B, "/")
   j1 = UBound(s105)
   j2 = UBound(s205)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    For k = 1 To j2
      n2 = n2 + 1
        ReDim Preserve bk(1 To n2)
       bk(n2) = s205(n2)
    Next
   
     n = 0
        For k = 1 To j1
           For i = 1 To j2
             n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k)) + Val(bk(i))
            f(m) = ""
            If InStr(Sqr(Val(m)), ".") = 0 And Val(ak(k)) <> 0 And Val(bk(i)) <> 0 Then
            s22 = s22 & "/" & m & "=" & m ^ (1 / 2) & "^2=" & Val(ak(k)) ^ (1 / 2) & "^2+" & Val(bk(i)) ^ (1 / 2) & "^2" & vbCrLf
            Else
            s22 = s22
            End If
      Next
    Next
      
         MsgBox "ok"
     MsgBox s22  '显示数组
     paixu0 = s22
End Function


Private Function paixu3(a As String, B As String) As String
Dim i As Integer
Dim ak(), s105, cr(), f, bk()
s103 = a
Set f = CreateObject("Scripting.Dictionary")
s105 = Split(s103, "/")
s205 = Split(B, "/")
   j1 = UBound(s105)
   j2 = UBound(s205)
   Print j1
   For k = 1 To j1
      n1 = n1 + 1
       ReDim Preserve ak(1 To n1)
      ak(n1) = s105(n1)
    Next
    For k = 1 To j2
      n2 = n2 + 1
        ReDim Preserve bk(1 To n2)
       bk(n2) = s205(n2)
    Next
   
     n = 0
        For k = 1 To j1
           For i = 1 To j2
             n = n + 1
             ReDim Preserve cr(1 To n)
            m = Val(ak(k)) + Val(bk(i))
            f(m) = ""
      Next
    Next
      n = 0
      m = f.Keys
      For i = 0 To j1
          ReDim Preserve cr(1 To i + 1)
          cr(i + 1) = m(i)
      Next
     For i = 1 To UBound(cr) - 1
        For j = i + 1 To UBound(cr)
            If cr(i) > cr(j) Then
                temp = cr(j)
                cr(j) = cr(i)
                cr(i) = temp  'c数组是排序好的
            End If
        Next j
        
       ' If i Mod 20 = 0 Then
       ' s104 = s104 & temp & "/" & vbCrLf
       ' Else
       ' s104 = s104 & temp & "/"
       ' End If
    Next i
   
      For i = 1 To UBound(cr)
        If i Mod 20 = 0 Then
          s104 = s104 & cr(i) & "/" & vbCrLf
        Else
          s104 = s104 & cr(i) & "/"
        End If
     Next
         Print temp
         MsgBox "ok"
     MsgBox s104  '显示数组
     paixu3 = s104
End Function
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-21 16:48 | 显示全部楼层
有2组
/641801265625=801125^2=231048455625+410752810000=480675^2+640900^2
/641801265625=801125^2=410752810000+231048455625=640900^2+480675^2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-21 16:50 | 显示全部楼层
有3组/205254302500=453050^2=102627151250+102627151250=320354.727216565^2+320354.727216565^2
/672252408100=819910^2=283583056250+388669351850=532525.16959295^2+623433.518388288^2
/672252408100=819910^2=388669351850+283583056250=623433.518388288^2+532525.16959295^2
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 11:11 , Processed in 0.082682 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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