"ist Zahl durch 11 teilbar" - Prüfung
Torwächter
- perl
0 Peter Kaufmann0 Cheatah0 Stephan Huber0 Sebastian0 Cheatah
Hallo zusammen,
da mir gesagt wurde, wie man ISBN Nummern überprüfen kann, müsste ich wissen:
Wie kann ich Perl testen lassen, ob eine Zahl (nennen wir sie mal $zahl) durch 11 teilbar ist ?
Ich habe es versucht mit:
if($zahl =~ /./)
{
}
else
{
}
aber dies führt zu einem Fehler, welcher mir unerklärlich ist (nur else wird AUSGEFÜHRT, die "if" Treffer werden ignoriert.
Danke im Voraus
Greetings
Torwächter
Hallo Torwächter,
Wie kann ich Perl testen lassen, ob eine Zahl (nennen wir sie mal $zahl) durch 11 teilbar ist ?
z.B. mit Modulo:
if ($zahl % 11 == 0) {
print "$zahl ist durch 11 teilbar\n";
} else {
print "$zahl ist nicht durch 11 teilbar\n";
}
Ich habe es versucht mit:
if($zahl =~ /./)
{
}
else
{
}
denn Ansatz verstehe ich _überhaupt_ nicht.
Grüße Peter
Danke euch, ich D... hätt auch selber drauf kommen können aber ich machte es lieber umständlich :
$zahl = $zahl / 11;
daher auch der test auf einen Punkt :)
Aber eures gefällt mir besser :))
Greetings
Torwächter
Hi
$zahl = $zahl / 11;
daher auch der test auf einen Punkt :)
Ich schätze mal das geht deswegen nicht, weil der Punkt als Zeichen und nicht als Trennzeichen interpretiert wird.
mfg Andres
Hi,
Wie kann ich Perl testen lassen, ob eine Zahl (nennen wir sie mal $zahl) durch 11 teilbar ist ?
genau wie in jeder anderen Sprache: mit der Modulo-Rechnung. Sehr oft heißt der Operator dafür "%", einige Sprachen verwenden auch eine Funktion namens "mod()" o.ä.
if($zahl =~ /./)
Hm... "$zahl enthält einen Punkt" hat aber wenig mit "$zahl ist durch 11 teilbar" zu tun...?
Cheatah
Hallo Torwächter,
if($zahl =~ /./)
ich hab's nicht so mit Perl, deswegen verstehe ich auch nicht, wie das funktionieren sollte, aber was spricht gegen:
if($zahl % 11 == 0)
Viele Grüße
Stephan
hi,
eine ganz andere möglichkeit zu testen, ob eine zahl durch 11 teilbar ist, ist die alternierende quersumme zu betrachten.
und zwar als beispiel die zahl '869'. berechne nun '8-6+9=11'. da '11' durch '11' teilbar ist, ist demnach auch '869' durch '11' teilbar. wie du das jetzt perl beibringst, da mach ich mir nun keinen kopf!
war sowieso eher eine kleine spielerei am rande...
sebastian
Hi,
wie du das jetzt perl beibringst, da mach ich mir nun keinen kopf!
Der Mathematiker wird natürlich versuchen, ein neues Problem auf ein bekanntes zurückzuführen. Da bekannt ist, dass zweistellige Zahlen mit gleichen Ziffern (11, 22, 33, ..., 99) durch 11 teilbar sind, braucht man von einer Zahl also nur solange 11 abzuziehen, bis man eine zweistellige Zahl hat, und vergleicht dann die Ziffern. Ganz einfach, oder? ;-)
Cheatah