hi !
ich schreibe am donnerstag java klausur und bin grad ein wenig am üben und bekomme eine rekursionsaufgabe nicht raus : (zusammengefasst)
In Muenzland gibt es eine Währung die aus folgenden Münzen besteht: 7, 31 und 53 cent. mit diesen münzen ist jedoch nicht jeder beliebige betrag darstellbar, wie z.b. 61 cents;
schreiben sie eine java methode die für einen beliebigen betrag rekursiv ermittelt ob sich dieser durch diese drei münzen darstellen lässt.
kann mir wer helfen ?
danke
mfg hategrown
www.raiseyourvoice.de
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Ok, einmal gemischtes:
$muenzval = array(7, 31, 53);
function RecMuenze($betrag, $muenzind){
$muenze=$muenzval[$muenzind];
if(($betrag % $muenze)==0)
return true;//passt
if($muenzind return false;//keine weitere münzgröße mehr
$n=(int)($betrag/$muenze);
for($i=$n; $i>=0; $i--)
if(RecMuenze($betrag-$i*$muenze, $muenzind-1))
return true;
return false;
}
function muenzland($betrag) {
return RecMuenze($betrag, sizeof($muenzval)-1);
}
function RecMuenze($betrag, $muenzind){
$muenze=$muenzval[$muenzind];
if(($betrag % $muenze)==0)
return true;//passt
if($muenzind return false;//keine weitere münzgröße mehr
$n=(int)($betrag/$muenze);
for($i=$n; $i>=0; $i--)
if(RecMuenze($betrag-$i*$muenze, $muenzind-1))
return true;
return false;
}
function muenzland($betrag) {
return RecMuenze($betrag, sizeof($muenzval)-1);
}
mr.escape