當前位置:編程學習大全網 - 編程軟體 - 用VB編程,求這樣的四個自然數p,q,r,s(p<=q<=r<=s),使得以下等式成立: 它們的倒數和等於1

用VB編程,求這樣的四個自然數p,q,r,s(p<=q<=r<=s),使得以下等式成立: 它們的倒數和等於1

因為:p<=q<=r<=s?

所以:1/p>=1/q>=1/r>=1/s

因為:1/p+1/q+1/r+1/s = 1

所以:1/p+1/p+1/p+1/p >=1 從而推出:p<=4

因為:p,q,r,s都是自然數,顯然,p必須大於1,所以 2<=p<=4 推出:1/2 >=1/p >=1/4

所以:1/q+1/r+1/s = 1 - 1/p ?從而推出: 1/2 <= 1/q + 1/r + 1/s ?所以:1/2<=1/q+1/q+1/q

從而得到:q<=6 ?所以:q = p to 6

到此,我們至少推斷出兩點:p = 2 to 4 ?;q = p to 6

因為p<=q,所以如果p=2,而且倒數和為1,所以q必須大於2,如果p>2,那麽q還是必須大於2,

所以可以確定:3<=q<=6 得到 1/3 >=1/q>=1/6,而1/2>=1/p>=1/4

所以:1/3+1/2>=1/q+1/p>=1/6+1/4 推出:5/6>=1/p+1/q>=5/12 那麽:1/6<=1/r+1/s<=7/12

因為:1/6<=1/r+1/s<=1/r+1/r ?所以:r<=12

因為:1/p>=1/q>=1/r>=1/s 而且1/p+1/q+1/r+1/s = 1 所以:1/s+1/s+1/s+1/s<=1/p+1/q+1/r+1/s=1

所以:s>=4

當p,q均取最小值的時候,p=2,q=3,那麽1/p+1/q=5/6,所以1/r +1/s =1/6 ,當且僅當r的值最接近6的時候,s取得最大值,也就是r=7的時候s取得最大值42.

到此,我們得出了 p = 2 to 4 , q = 3 to 6 ; r<=12;4<=s<=42

為了防止數學推算部分的遺漏,將r和s的取值範圍擴大,得到如下代碼:

Sub Comand2_Click()

Dim p, q, r, s

For p = 2 To 4

For q = p To 6

For r = q To 100

For s = r To 1000

If (p * q * r + p * q * s + q * r * s + p * r * s) / (p * q * r * s) = 1 Then Print p & "," & q & "," & r & "," & s

Next s, r, q, p

End Sub

  • 上一篇:探月校園版編程和猿編程哪個好
  • 下一篇:dwdiv怎麽設計背景圖片
  • copyright 2024編程學習大全網