設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 4171|回復(fù): 3
打印 上一主題 下一主題

編程題目(分割鉛塊)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2005-11-1 22:44:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有一40千克的鉛塊,把它分成4塊(每塊為整數(shù)重量),用這4塊鉛塊作為天平稱的砝碼,可以稱出1----40千克任何重量(整數(shù)重量)的物體,問:如何分割?

注意:

1.天平兩邊都可以放砝碼。

2.以上所有的數(shù)值均為整數(shù),而不是小數(shù)。

3.一次性稱出重量,而不能分步稱出,然后求其總和。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱

點擊這里給我發(fā)消息

2#
發(fā)表于 2005-11-2 08:54:00 | 只看該作者
我有些暈
3#
發(fā)表于 2005-11-2 20:14:00 | 只看該作者
Public Sub Test()

Dim a As Integer, b As Integer, c As Integer, d As Integer, i As Integer

For a = 1 To 40: For b = a To 40: For c = b To 40: For d = c To 40

  If a + b + c + d = 40 Then

    For i = 1 To 39

        If CheckNum(i, a, b, c, d) = False Then Exit For

    Next

    If i = 40 Then Debug.Print a & "," & b & "," & c & "," & d

  End If

Next: Next: Next: Next

End SubPublic Function CheckNum(Num As Integer, w As Integer, x As Integer, y As Integer, z As Integer) As Boolean

For a = -1 To 1: For b = -1 To 1: For c = -1 To 1: For d = -1 To 1

  If a * w + b * x + c * y + d * z = Num Then

    CheckNum = True

    Exit Function

  End If

Next: Next: Next: Next

End Function

答案是:1,3,9,27(跟我用心算的結(jié)果一樣,并且是唯一解 :)

4#
 樓主| 發(fā)表于 2005-11-2 21:57:00 | 只看該作者
可以簡化一下a肯定等于1,d 肯定等于 40-1-b-cPublic Sub Test()

Dim b As Integer, c As Integer, i As Integer

For b = 1 To 37

   For c = b To 37

      For i = 1 To 39

         If CheckNum(i, b, c) = False Then Exit For

      Next

      If i = 40 Then Debug.Print "1," & b & "," & c & "," & 40 - 1 - b - c

   Next

Next

End SubPublic Function CheckNum(Num As Integer, x As Integer, y As Integer) As Boolean

For a = -1 To 1

   For b = -1 To 1

      For c = -1 To 1

         For d = -1 To 1

            If a + b * x + c * y + d * (40 - 1 - x - y) = Num Then

               CheckNum = True

               Exit Function

            End If

         Next

      Next

   Next

Next

End Function
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 08:28 , Processed in 0.125807 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表