2016-11-02 39 views
-3

我在PHP新的,但得到了學院委託編寫一個腳本來執行以下操作: -如何分發數爲預先定義的組數字在PHP

$num1=0.1; 
$num10=0.2; 
$num50=0.3; 
$num100=0.4; 

如果用戶類型數然後結果將是$num10+$num10+$num1+num1

如果用戶類型數然後結果將是$num50+$num10+$num1+num1

如果用戶類型數那麼結果將是$num1+$num1+num1

我沒有得到如何在PHP程序這樣或C.請幫助我,如果你認爲這是可能的。

在此先感謝。

+0

這看起來像是[改變問題](https://en.wikipedia.org/wiki/Change-making_problem)的一個變種。 –

+0

請勿發送垃圾郵件語言標籤。只使用一個與您的問題相關的標籤。 – user694733

回答

0

是的,我可以。當然。 使用兩個映射,for循環和模。

讓我知道你是否需要幫助。

同時:我編碼的解決方案也。

+0

我不能看到解決方案? –

+0

請幫我編碼 –

0

最後,我使用貪婪算法改變了問題。

<form method="post" action="coin.php"> 
Enter numbers : <input type="text" name="amount"/><input type="submit" value="Click here to Distribute Numbers into available pricing units"> 
</form> 
<?php 

function makeChange($amount) { 
    $c = array(100, 50, 10, 1); 
    $sol = array(); 
    $sum = 0; 
    $i = 0; 
    $ele = $c['0']; 
    while ($sum != $amount) { 
     $sum = $sum + $ele; 
     if ($sum > $amount) { 
      $sum = $sum - $ele; 
      $i++; 
      $ele = $c[$i]; 
      continue; 
     } 
     $sol[] = $ele; 
    } 
    return $sol; 
} 
if(isset($_POST['amount'])) 
{ 
$amount = $_POST['amount']; 
$sol = makeChange($amount); 
foreach ($sol as $val) { 
    echo "<b>$val</B><br/> "; 
} 
} 

?> 
相關問題