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

Mit Perl rechnen (page 4)

Readers: 4


<< |< 1 2 3 4 5 6 7 8 >| >> 77 entries, 8 pages
Napstack
 2008-07-04 14:26
#111803 #111803
User since
2008-07-03
32 articles
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
#!/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;
                }
                print "$Zahl\n";
                push (@prime, "$Zahl");
        }
}


aber das weght irgendwie trodzdem noch ich.
Linuxer
 2008-07-04 14:31
#111804 #111804
User since
2006-01-27
3890 articles
HausmeisterIn

user image
Was passiert denn jetzt? Lass Dir doch nicht alles einzeln aus der Nase ziehen...
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 14:48
#111805 #111805
User since
2008-07-03
32 articles
BenutzerIn
[default_avatar]
das gleiche wie vorher
Napstack
 2008-07-04 14:48
#111806 #111806
User since
2008-07-03
32 articles
BenutzerIn
[default_avatar]
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 15:04
#111807 #111807
User since
2007-05-11
923 articles
HausmeisterIn
[Homepage]
user image
Napstack+2008-07-04 12:48:21--
das gleiche wie vorher


Du hast ja auch nichts an der Logik geändert. Du könntest ja mal auf das eingehen, was ich vorher geschrieben habe.
Napstack
 2008-07-04 15:17
#111808 #111808
User since
2008-07-03
32 articles
BenutzerIn
[default_avatar]
dann hab ich nicht verstanden was du damit meintest.
meitest du es so?
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;
                }

        }
        print "$Zahl\n";
        push (@prime, "$Zahl");
}


wenn ja so gehts auch nicht dabei kommt das raus.
Bis zu welcher Zahl sollen die Primzahlen gesucht werden?13
3
4
5
6
7
8
9
10
11
12
13

wenn nein dánn erklär es mir mal bitte
pq
 2008-07-04 15:21
#111809 #111809
User since
2003-08-04
12208 articles
Admin1
[Homepage]
user image
@Napstack: du veränderst da in der schleife eine variable $is_prime, die du hinterher
nie wieder benutzt. diese variable speichert den status, ob $Zahl eine primzahl ist oder
nicht. vielleicht kannst du diese variable ja bei dem push noch sinnvoll verwerten.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
moritz
 2008-07-04 15:22
#111810 #111810
User since
2007-05-11
923 articles
HausmeisterIn
[Homepage]
user image
Jetzt gibts du halt jede Zahl aus und schiebst sie nach @prime, nicht nur Primzahlen. Dabei weisst du an dieser Stelle schon, ob eine Zahl eine Primzahl ist oder nicht.
Napstack
 2008-07-04 16:06
#111811 #111811
User since
2008-07-03
32 articles
BenutzerIn
[default_avatar]
oh stimmt ja ih braauc jetz erstmal n bisl bedenkzeit
Napstack
 2008-07-04 16:41
#111816 #111816
User since
2008-07-03
32 articles
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
28
29
30
#!/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;
                }
                if ($is_prime == 0) {
                        print "$Zahl\n";
                        push @prime, $Zahl;
                }
                
        }

 }


Jetzt bekomme ich garkeine ausgabe mehr :(
<< |< 1 2 3 4 5 6 7 8 >| >> 77 entries, 8 pages



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