VB中的模数除法

use*_*391 0 vb.net visual-studio-2010

我觉得这有点不知所措.问题和我的代码的开头如下.有人能告诉我这是否走在正确的轨道上?如果没有,你能帮忙吗?任何建议表示赞赏.先感谢您.(这不是我的最终代码,只是问题的开始).

客户需要特定数量的纸张.单张纸上的费用为0.10美元,100张纸的倍数为每张0.055美元,500张纸的倍数为每张0.04美元,每张1000张的倍数为0.03美元.根据客户需要的纸张数量,开发一个解决方案,计算客户应购买的最少金额的包裹类型和数量.例如,如果客户需要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
Run Code Online (Sandbox Code Playgroud)

Hei*_*nzi 6

让我给你一些一般性的提示:

  1. VB.NET中的模数是使用Mod运算符完成的.这回答了你标题中的问题,但它不能帮助你解决眼前的问题.
  2. 停止编码.拿一张纸,从数学的角度尝试解决问题.尝试找到问题陈述中请求的优化算法(伪代码).
  3. 只有拥有算法并且您确信它是正确的,才能开始用您选择的语言(VB.NET)实现它.

  • +1,尤其是#2 (3认同)