Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

java rekursionsaufgabe

hategrown / 6 Antworten / Flachansicht Nickles

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

bei Antwort benachrichtigen
Antwort Borlander
Rekursive Lösung Borlander
mr.escape Borlander „Hab eben noch mal nebenbei eine iterative Lösung geschrieben: function...“
Optionen

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);
}



mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen