找最少硬币问题
来源:一方有 责任编辑:admin 发表时间:2013-07-01 15:22 点击:次
9:一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。
售货员希望用数目最少的硬币个数找给小孩。假设提供了数目不限的面值为
2 5美分、1 0美分、5美分、及1美分的硬币,写一个算法让售货员用最少的硬币个数找给小孩
- <?php
- /*
- 9:一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。
- 售货员希望用数目最少的硬币个数找给小孩。假设提供了数目不限的面值为
- 2 5美分、1 0美分、5美分、及1美分的硬币,写一个算法让售货员用最少的硬币个数找给小孩
- *系统环境:windows/linux
- *编译环境:php4/php5
- *输入参数:存放在in.txt,多个参数时空格分隔
- 参数1是一个小数,表示小孩买的糖的价格,必须小于1
- 例如0.36
- 输出:out.txt
- */
- $params=getParams(1);
- $argv0=trim($params[0]);
- //检查参数1
- if(!is_numeric($argv0))
- {
- error_msg("params 1 must be a numbers");
- }
- if($argv0 > 1)
- {
- error_msg("params 1 must be a float < 1");
- }
- $onedoll=100;//1美元=100美分
- $coins=array(25,10,5,1);
- $payback=$onedoll-$argv0*$onedoll;
- $paybackCoins=array();
- while($payback > 0)
- {
- foreach($coins as $coin)
- {
- //每次都从最大币值开始循环
- &nb
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>