Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 不知道该怎么做这个节目_Vb.net_Variables - Fatal编程技术网

Vb.net 不知道该怎么做这个节目

Vb.net 不知道该怎么做这个节目,vb.net,variables,Vb.net,Variables,问题如下。客户需要特定数量的纸张。纸张上的收费如下: .10适用于单张 .055/张,以100的倍数表示 .04每张,以500的倍数表示 .03每张,以1000的倍数表示 我知道你必须在某处使用mod division。我不确定我的变量设置是否正确,我的大脑即将融化。悲伤吧?哈哈。我将非常感谢您的帮助。干杯:) 你们的作业问题就是一个例子,但幸运的是它是一个非常简单的变体 您不一定需要使用模运算符-您可以迭代地使用它。从最昂贵的产品开始(它提供了最好的每件商品的价格比),然后用你的起始资金“

问题如下。客户需要特定数量的纸张。纸张上的收费如下:

  • .10适用于单张
  • .055/张,以100的倍数表示
  • .04每张,以500的倍数表示
  • .03每张,以1000的倍数表示
我知道你必须在某处使用mod division。我不确定我的变量设置是否正确,我的大脑即将融化。悲伤吧?哈哈。我将非常感谢您的帮助。干杯:)


你们的作业问题就是一个例子,但幸运的是它是一个非常简单的变体


您不一定需要使用模运算符-您可以迭代地使用它。从最昂贵的产品开始(它提供了最好的每件商品的价格比),然后用你的起始资金“购买”尽可能多的产品(不断地从钱中减去,直到你买不起),然后继续购买下一个令人愉快的产品,重复,直到你买不起任何东西。

为什么不重复每一个数量呢(例如,1000、500、100、1),并且用户在变量中指定了张数,逻辑如下:

预定义变量:无工作表(用户输入),工作金额=无工作表,当前索引=0,计数=0,金额(数组)=(1000,500,100,1),成本=(0.03,0.04,0.055,0.1),总计=(0,0,0,0,0)

While(工作金额>0)
如果当前_指数<4
如果(工作金额-金额[当前指数])>=0
总计[当前指数]++
工作金额=工作金额-金额[当前指数]
其他的
当前指数++
恩迪夫
恩迪夫
循环结束
现在您有了一个包含每个块数量的数组,例如(1,2,3,4)的数组意味着1 x 1000张、2 x 500、3 x 100、4 x 1

然后你可以把每一位乘以它们的价格


希望这会有所帮助。

使用该代码,您只需添加每个包的价格:

papercost = _
  0.03 * 1000.0 * onetpackage + _
  0.04 * 500 * fivehpackages + _
  0.055 * 100 * onehpackages + _
  0.1 * singlesheets
然而,为了让作业有意义,我认为您应该只输入总张数,然后计算包裹数。您可以在计算包裹数后使用模来计算剩余的张数,但使用减法也同样简单:

  onetpackage = Math.Floor(totalsheets / 1000)
  totalsheets -= onetpackage * 1000

我们必须找到给定金额的最佳价格。请求金额=3524;1000张=底价(请求金额/1000);请求金额=请求金额%1000;500张=底价(请求金额/500);请求金额=请求金额%500;100张=底价(请求金额/100);requested_amount=requested_amount%100;1_sheets=requested_amount假设一个人需要602张纸,我们现在除以1000,然后再除以500,然后将这些操作保存在某个位置。你将得到此人必须购买的单张纸的数量。如果除法介于到整数之间,它也将返回一个整数。在lo中的某个位置op您需要从工作金额中减去。@Chimera您是对的!谢谢。哦,您必须为单张索引做一个特例。假设您剩下55张。55-1=54。这不是您要找的。所以您要添加纸张成本?
papercost = _
  0.03 * 1000.0 * onetpackage + _
  0.04 * 500 * fivehpackages + _
  0.055 * 100 * onehpackages + _
  0.1 * singlesheets
  onetpackage = Math.Floor(totalsheets / 1000)
  totalsheets -= onetpackage * 1000