我对此感到有些不知所措。问题和我的代码的开头如下。有人能告诉我这是否走在正确的轨道上?如果没有,你能帮忙吗?任何建议表示赞赏。先感谢您。 (这不是我的最终代码,只是问题的开始)。
客户需要特定数量的纸张。纸上的费用是0.10美元 对于单张纸,每张0.055美元的金额为100张的倍数,0.04美元 每张500张的倍数和每张0.03美元的倍数1000倍 床单。开发一个解决方案来计算包的类型和数量 考虑到纸张的数量,客户应该购买的金额最少 客户的需求。例如,如果客户需要380张,那么她的金额 当以100的倍数购买时,将支付22.00美元。但是,如果 客户买了500张,费用为20.00美元。因此,这将是成本 有效的客户购买500张包。 (提示:使用模数除法(Mod)来找到除法的余数)。
Imports System
Module Paper
Sub Main()
Dim Name as String
Dim OrderNumber as String
Dim Paper as Integer
Dim Thousandpaper as Integer
Dim FiveHundredPaper as Integer
Dim FirstCut as Integer
Dim SecondCUt as Integer
'User Input Begins Here:
Console.WriteLine("Hello! What is your name?")
Name = console.readline()
Console.WriteLine("Please enter a order number:")
OrderNumber = console.readline()
Console.WriteLine("Finally ,how much paper would you like?")
Paper = console.readline()
If (Paper > 1000)
Thousandpaper = (Paper / 1000)
End If
If (Thousandpaper) > Paper Then
GoTo 44
End If
FirstCut = (Paper mod 1000)
If (FirstCut > 500)
FiveHundredPaper= (FirstCut / 500)
End If
SecondCut = (FirstCut / 500)
44: Console.WriteLine("1000 paper pack:")
Console.WriteLine(Thousandpaper)
Console.WriteLine("500 paper pack:")
Console.WriteLine(FirstCut)
End Sub
End Module
答案 0 :(得分:6)
让我给你一些一般性的提示:
答案 1 :(得分:1)
修改强>
首先听取@Heinzi的回答是有意义的。我只能对“自上而下”的方法做出明智的尝试,因为我已经意识到核心算法应该如何构建。
这是一些让你入门的面向对象。
Public Structure PaperPackage
Public Size As Integer
Public PricePerSheet As
End Structure
Dim availablePackages = New List(of PaperPackage) _
{ _
New PaperPackage With { .Size = 1000, .PricePerSheet = 0.03 }, _
New PaperPackage With { .Size = 500, .PricePerSheet = 0.04 }, _
New PaperPackage With { .Size = 100, .PricePerSheet = 0.055 }, _
New PaperPackage With { .Size = 1, .PricePerSheet = 0.1 } _
}
然后你可能想写一个带有这样的签名的函数,
Public Shared Function CheapestPaperChoices( _
availableChoices As IList(of PaperPackage), _
requiredSheets As Integer) As IDictionary(Of PaperPackage, Integer)
哪个会返回IDictionary
,其中包含所需的每个纸质包裹以及数量的Integer
计数。
为了提供更多帮助,你可以顺利找到,如果你写这个功能,
Public Structure PackagesThatFitResult
Public Quantity As Integer
Public NewRemainingSheets As Integer
End Structure
Private Shared Function PackagesThatFit( _
remainingSheets As Integer, _
package As PaperPackage) As PackagesThatFitResult
你可以在我上面指定的函数中迭代地调用它。
只是最后一个警告,你可能会觉得购买更大的包裹会有所收获,如果说,你的最后一张照片是49张。