Ungerade und Gerade Zahlen
Holger
- perl
Hallo zusammen,
Gibt es in Perl einen Befehl,
Der mir direkt aus einem Zahlenreihe (z.B. 1-1000)
aller ungeraden (bzw.geraden) Zahlen herausnimmt ?
Habe Leider nirgendwo was darüber gefunden.
Danke im vorraus.
Gruß Holger
hi!
Gibt es in Perl einen Befehl,
Der mir direkt aus einem Zahlenreihe (z.B. 1-1000)
aller ungeraden (bzw.geraden) Zahlen herausnimmt ?
Wofür gibt es den Modulo-Operator %?
=== cut ===
for (my $i = 0; $i < 1000; $i++)
{
if ($i % 2)
{
print "$i - ungerade\n";
}
else
{
print "$i - gerade\n";
}
}
=== cut ===
"$i % x" liefert als Ergebnis den Rest von "$i geteilt durch x", also
die Zahl, die später nicht mehr durch x geteilt werden kann, weil sie
zu klein ist.
bye, Frank!
Hi,
for (my $i = 0; $i < 1000; $i++)
{
if ($i % 2)
{
print "$i - ungerade\n";
}
else
{
print "$i - gerade\n";
}
}
TIMTOWTDI:
for (my $i=0; $i<1000; $i++) {
print "\n$i - ", ($i % 2) ? 'ungerade' : 'gerade';
}
;-)
Cheatah
Hi Cheatah,
TIMTOWTDI:
for (my $i=0; $i<1000; $i++) {
print "\n$i - ", ($i % 2) ? 'ungerade' : 'gerade';
}
Wo wir gerade dabei sind, einen hätte ich auch noch ;-)
($nums = join ' ', (0..999)) =~ s/(\s)(\d+)(\s)/$2.($2 % 2 ? ' - ungerade' : ' - gerade')."\n"/eg;
print $nums;
Und falls man wirklich nur den Ausdruck benötigt, kann man es auch in einer Zeile:
($nums = join ' ', (0..999)) =~ s/(\s)(\d+)(\s)/{ print $2.($2 % 2 ? ' - ungerade' : ' - gerade')."\n"; }/eg;
Gruß AlexBausW
P.S.: Ich liebe an Perl: ;-)
[x] TIMTOWTDI
[x] Reguläre Ausdrücke
[x] cryptische Einzeiler (nur für den privaten Spaß ;-)
Ich Danke euch allen.
Warum antwortet ihr eigentlich alle ?
Es reicht doch vollkommen aus, wenn EINER eine Vernüftige
erklärung abgibt. oder ?
Wenn ich so das Forum ansehe könnte man min 60 %
rausschmeißen.
Ich habe schon öfters ein paar Fragen gestellt
und jedes mal sind min 5 Antworten.
Vorallem wäre dann die ARCHIV-Suche
nur halb so Wild.
Ich hoffe ihr könnt einmal ein bißchen Kritik (Anregung)
ertragen.
Also, aber trotzdem nochmals "DANKE"
was wäre bloß ohne SELFHTML und ohne euch ?
Gruß Holger
Hi,
Warum antwortet ihr eigentlich alle ?
Es reicht doch vollkommen aus, wenn EINER eine Vernüftige
erklärung abgibt. oder ?
wenn Du der Meinung bist, auch nur eines der Antwort-Postings enthalte keine neue Information, dann benenne dieses bitte.
Es hängt auch von der Präzision Deiner Fragestellung ab, wie viele verschiedene Antworten Du erhältst - je wilder man raten muß, was Du eigentlich wissen willst, desto mehr werden es ...
Ich habe schon öfters ein paar Fragen gestellt
und jedes mal sind min 5 Antworten.
Im obigen Kontext sollte Dir das zu denken geben. ;-)
Vorallem wäre dann die ARCHIV-Suche
nur halb so Wild.
Nanana - *daran* wird sie nicht zugrunde gehen ...
mfG - Michael
Hallo Michael,
Erstmal Danke für Deine Anwort. Ich bin absolut Deiner Meinung :-)
Ein paar an Holger gerichtete Ergänzungen möchte ich denoch hinzufügen.
Warum antwortet ihr eigentlich alle ?
Es reicht doch vollkommen aus, wenn EINER eine Vernüftige
erklärung abgibt. oder ?wenn Du der Meinung bist, auch nur eines der Antwort-Postings enthalte keine neue Information, dann benenne dieses bitte.
Dazu kommt imho, daß man ja nicht nur dem _Fragenden_ eine ihm _passende_ Antwort geben sollte - sonst wäre das Forum einem "Support" ähnlich - sondern man antwortet imho eigentlich allen Mitlesenden im Forum. Ich antworte auch, weil es mir durchaus Spaß macht, eine vielleicht ungewöhnliche "Lösung" zu suchen. D.h. beim Finden einer Lösung lerne ich selbst auch etwas. Bei einigen Themen bin ich sogar dankbar, daß nicht nur die "erstbeste" bzw. "naheliegendste" Lösung gepostet wird, sondern auch noch weitere Möglichkeiten angesprochen werden. Dadurch habe ich schon Lösungen von Problemen gefunden, die ich ohne den entsprechenden Thread gar nicht gehabt hätte ;-) Manchmal kristallisiert sich auch ein "optimale" Lösung erst nach einigen Postings heraus, die dann vielleicht sogar würdig ist, in der Forumsauslese zu erscheinen.
[...]
Vorallem wäre dann die ARCHIV-Suche nur halb so Wild.
Nanana - *daran* wird sie nicht zugrunde gehen ...
Und wenn es wirklich nur eine, sagen wir _ausreichende_ (keine Benotung ;-) Antwort pro Thread geben würde, dann liesen sich im Archiv wohl viel _weniger_ "Lösungen" finden. Es wäre vielleicht im Gegenteil voll mit denselben Standardvorgehensweisen, was eine "Entwicklung" imho deutlich hemmen würde (zumindest meine ;-)
Gruß AlexBausW
Sodele, da bin ich nochmal,
Muss euch Beiden wirklich Recht geben,
aus dieser Richtung hatte ich das nicht gesehen,
Sorry,
Wobei ich persönlich zu mir sagen mußte,
Das mir perönlich immer die ersten Antwort gerreicht hatte.
Ich hatte bis jetzt zumindestens nie nach einer zweiten Lösung
Suchen müßen. Klar wie das im Einzallfall aussieht,
Kann ich jetzt nicht behaupten.
Also, nichts für ungut.
Trotzdem vielen Dank
Gruß Holger
Hi,
Gibt es in Perl einen Befehl,
Der mir direkt aus einem Zahlenreihe (z.B. 1-1000)
aller ungeraden (bzw.geraden) Zahlen herausnimmt ?
wenn Du hinreichend viel über Deine Zahlenreihe weißt
(z. B. Start- und Endwert und Lückenlosigkeit), dann
kannst Du die gewünschte "ungerade" Zahlenreihe auch
gleich selbst generieren (Schleife wie bei Frank, aber
pro Durchgang gleich um 2 erhöhen).
mfG - Michael
Hallo,
wenn Du hinreichend viel über Deine Zahlenreihe weißt
(z. B. Start- und Endwert und Lückenlosigkeit), dann
kannst Du die gewünschte "ungerade" Zahlenreihe auch
gleich selbst generieren (Schleife wie bei Frank, aber
pro Durchgang gleich um 2 erhöhen).
Wie wär's denn dann mit:
for (map($_*2 ,1..500)) {print "$_\n";}
for (map($_*2+1, 0..499)) {print "$_\n";}
Gruß,
Jörk