Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12122[/thread]

Mit Perl rechnen (Seite 3)

Leser: 4


<< |< 1 2 3 4 5 6 ... 8 >| >> 77 Einträge, 8 Seiten
Napstack
 2008-07-03 21:13
#111785 #111785
User since
2008-07-03
32 Artikel
BenutzerIn
[default_avatar]
ich hab ein gutes pdf buch und noch ein richtiges buch. Aber ich schau trodzdem mal vorbei. Danke
betterworld
 2008-07-03 21:20
#111786 #111786
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
jd+2008-07-03 19:04:25--
Ich empfehle dir http://de.selfhtml.org/perl. Natürlich könntest du dir auch ein Buch kaufen, dann kannst du auch ohne PC lernen.

Hm, so toll ist die Seite eigentlich nicht (jedenfalls der Perl-Teil). Das ist eigentlich hauptsaechlich auf Leute ausgerichtet, die sich schnell in 2 Minuten einen Zugriffszähler oder ähnliches CGI-Script scripten wollen...
Aber wir haben ja hier auch eine Linkliste ;)
Napstack
 2008-07-03 21:36
#111788 #111788
User since
2008-07-03
32 Artikel
BenutzerIn
[default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
        #Wofür ist $p was macht sie und brauche ich das for noch?
        ##in dieser Schleife wird die Zahl aus der ersten Schleife durch die Zahlen in @prime geteilt.
        ##Wenn die Modulo-Division 0 ergibt wird die Schleife beendet.
        foreach $p (@prime) {
                if ($Zahl % $p == 0){
                        $is_prime = 0;
                        #Was macht das last?
                        ##die Schleife nach diesem Durchgang beenden
                        last;
                }
        }
}


Jetzt weiß ich was mir die gaze Zeit spanish vorkam.
Um zu ermitteln ob eine Zahl eine Primzahl ist, muss die Zahl durc alle Zahlen in @prime geteilt werden und wenn modulo immer größer als 0 ist DANN ist es eine Primzahl. Dass wahr vo anfang an men Problem.
Kann mir da noch wer helfen?
betterworld
 2008-07-03 21:41
#111789 #111789
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Napstack+2008-07-03 19:36:49--
Um zu ermitteln ob eine Zahl eine Primzahl ist, muss die Zahl durc alle Zahlen in @prime geteilt werden und wenn modulo immer größer als 0 ist DANN ist es eine Primzahl.

Wo ist da jetzt der Unterschied zum vorliegenden Code?
Napstack
 2008-07-03 21:48
#111790 #111790
User since
2008-07-03
32 Artikel
BenutzerIn
[default_avatar]
oh sorry du hast recht ich hab den code falsch verstanden
Hagen
 2008-07-03 22:27
#111792 #111792
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Such mal im www nach 'Sieb von Eratosthenes', dort findest du jede Menge Lösungen, wie man Primzahlen findet. Wenn du noch den Begriff 'perl' hinzufügst, dann gibt es sogar schon Lösungen, z.B. in Wikipedia oder auch unter Perl-Community.
Gruß
Hagen
Napstack
 2008-07-04 02:12
#111794 #111794
User since
2008-07-03
32 Artikel
BenutzerIn
[default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/perl
use strict;
use warnings;

my ($Zahl, $is_prime, $p);
my @prime = ("2");
print "Bis zu welcher Zahl sollen die Primzahlen gesucht werden?";
chomp(my $Ziel = <STDIN>);

foreach $Zahl (3..$Ziel) {
        #Wofür ist $is_prime?
        $is_prime = 1;
        #Wofür ist $p was macht sie und brauche ich das for noch?
        ##in dieser Schleife wird die Zahl aus der ersten Schleife durch die Zahlen in @prime geteilt.
        ##Wenn die Modulo-Division 0 ergibt wird die Schleife beendet.
        foreach $p (@prime) {
                if ($Zahl % $p == 0){
                        $is_prime = 0;
                        #Was macht das last?
                        ##die Schleife nach diesem Durchgang beenden
                        last;
                } else { 
                        print "$Zahl\n";
                        push (@prime, "$Zahl");
                }
        }
}


Ich glaube bei push ist noch was falsch aber was?
Linuxer
 2008-07-04 11:39
#111798 #111798
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Ohne den Code getestet oder näher angesehen zu haben:

Warum glaubst Du, dass da was falsch ist?
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Napstack
 2008-07-04 12:36
#111800 #111800
User since
2008-07-03
32 Artikel
BenutzerIn
[default_avatar]
Weil ich ihn getested habe und das dabei raugekommn is

Bis zu welcher Zahl sollen die Primzahlen gesucht werden?13
3
5
5
7
7
7
7
9
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
moritz
 2008-07-04 13:06
#111802 #111802
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Napstack+2008-07-04 10:36:16--
Weil ich ihn getested habe und das dabei raugekommn is

Bis zu welcher Zahl sollen die Primzahlen gesucht werden?13
3
5
5
7
7
7
7
9


Ja klar, du weisst ja erst nach der inneren Schleife, ob eine Zahl eine Primzahl ist oder nicht.

Quote
push(@prime, "$Zahl");

Die Anführungzeichen und Klammern kannst du weglassen, das hier geht auch:

Code: (dl )
push @prime, $Zahl;
<< |< 1 2 3 4 5 6 ... 8 >| >> 77 Einträge, 8 Seiten



View all threads created 2008-07-03 17:04.