# Deine beiden Zahlen, # von denen Du das kleinste gemeinsame Vielfache suchst # kgV ist die kleinste Zahl, durch die beide teilbar sind my ($zahl1, $zahl2) = (8,9); # Ergebnis soll inkrementiert (immer plus 1) werden # bis das kgV erreicht ist # die beiden $zahlteiler brauche ich, um zu vergleichen # ob ich beim teilen durch meine beiden Zahlen integer Werte # (integer = ganze Zahl, ohne Nachkommastellen) erhalte # Ich habe sie jetzt mit Nachkommastellen gesetzt, um # eine Zeile Code zu sparen, ist lausig, und macht nicht viel # Sinn my ($ergebnis,$zahl1teiler,$zahl2teiler) = (1, 0.2, 0.3); # Da Perl keine Typüberprüfung hat, sondern Variableninhalte # einfach als Skalare behandelt, benutze ich regexes um # selbst die Typüberprüfung vorzunehmen. /^\d+$/ bedeutet, # daß nur Zahlen in der variable vorkommen dürfen. # Ein Punkt (Komma) würde also nicht passen. # Wenn beide $zahlteiler integers sind habe ich den # kgv erreicht while ($zahl1teiler !~ /^\d+$/ || $zahl2teiler !~ /^\d+$/) { $zahl1teiler = $ergebnis/$zahl1; $zahl2teiler = $ergebnis/$zahl2; # ergebnis wird solange inkrementiert, bis es groß genug # ist, so daß beide Zahlen teilbar sind, in diesem Fall: 72 $ergebnis++; } # Da ich durch die while Schleife einmal zu oft inkrementiert # habe, ziehe ich $ergebnis das wieder ab. # ein repeat ... until, wie in Pascal wäre eleganter für so # etwas. $ergebnis = $ergebnis - 1; # Damit Du das Ergebnis kennst, printe ich es: print "Das kleinste gemeinsame Vielfache ist: $ergebnis\n"