• 一些php小算法


    1、写一个function实现数组内每个元素之间加法的迭代运算,注意:数组元素全部为自然数。例子:$data=array(1.2.3);程序要求打印出数组每个数组元素相互之间各种可能性加法(包括元素自己本身加法)1+1=2,1+2=3,1+3=4,2+2=4,2+3=5,3+3=6

    思路:两个for循环依次相加每个元素。

    function test($arr){
    	$count = count($data);
    	for($i=0;$i<$count;$i++){
    		//如果是往后加就是下面的
    		//如果元素本身要加上之前的元素则:
    		//for($j=0;$j<$count;$j++){
    		for($j=$i;$j<$count;$j++){
    			$sum = $data[$i]+$data[$j];
    			echo $data[$i]."+".$data[$j]."=".$sum."<br>";
    		}
    	}
    }
    

     

    2、一个小孩买了价值小于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币个数找给小孩。假设提供的数目不限的面值为25美分,10美分,5美分,1美分的硬币,写一个算法让售货员用最少的硬币个数找给小孩。

    //输入糖的价格必须小于1美元
    //例如糖的价格为0.4美元
    function payback($par){
    	if($par>1){
    		return;
    	}
    	//一美元等于100美分
    	$money_total = 100;
    	//应该找回的钱为$payback美分
    	$payback = $money_total - $par*100;	
    	$arr = array(25,10,5,1);
    	while($payback>0){
    		foreach ($arr as $key => $value) {
    				if($payback >= $value){
    					$paybackCoins[] = $value;
    					$payback -= $value;
    					break;
    				}
    			}	
    	}
    	$paybackCoins = array_count_values($paybackCoins);
    
    	$str = "应该找回";
    	foreach ($paybackCoins as $key => $value) {
    		$str .= $key."面值硬币".$value."个";
    	}
    	return $str;
    
    }
    

      

  • 相关阅读:
    EL表达式遍历方法之一
    django auth认证
    总结五个在办公中使用很爽的软件
    django所遇到问题简单总结
    django 远程数据库mysql migrate失败报error 1045之 解决方案
    深拷贝和浅拷贝之地址改变
    序列表转换成横向菜单
    Pycharm破解
    css里涉及到定位相关的example实例
    记录求职
  • 原文地址:https://www.cnblogs.com/oceanL/p/8650795.html
Copyright © 2020-2023  润新知