1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...
@primfaktoren = (2,2,2,3,17,17); #Bei der Zahl 6936 sieht der Array dann so aus
ausgabe (@primfaktoren);
sub ausgabe
{
@primfaktoren = $_[0];
my $counter2 = 0;
my $counter1 = 0;
$counter1 = $#primfaktoren; #Arraylänge
while ($counter2 < $counter1)
{
print ($primeFactors[$counter2] . "*");
$counter2++;
}
print ($primfaktoren[-1]); #Ausgabe der letzen Stelle des Arrays, damit das Malzeichen am Ende nicht nocheinmal steht.
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
# referenz ausgabe(\@array); sub ausgabe { my ($primfaktoren) = @_; # oder my $primfaktoren = $_[0]; my $counter1 = $#$primfaktoren; #Arraylänge ... # ansprechen eines elements mittels pfeil ("dereferenzierung") # $primeFactors->[$counter2] } # als liste ausgabe(@array); sub ausgabe { my @primfaktoren = @_; # wie gehabt weitermachen...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ausgabe (\@primfaktoren);
sub ausgabe
{
my ($primfaktoren) = @_;
my $counter2 = 0;
my $counter1 = 0;
$counter1 = $#primfaktoren;
while ($counter2 < $counter1)
{
print ($primfaktoren->[$counter2] . "*");
$counter2++;
}
print ($primfaktoren->[-1]); #Ausgabe der letzen Stelle des Arrays, damit das Malzeichen am Ende nicht nocheinmal steht.
}
$counter1 = $#primfaktoren;
1 2
# dereferenziere die Array Referenz und liefer den letzten Index des Array my last_index = $#{$array_ref};
1
2
3
4
5
6
7
8
9
$ perl -wE'
my @primfaktoren = (2,2,2,3,17,17);
ausgabe(\@primfaktoren);
sub ausgabe {
my ($primfaktoren) = @_;
my $counter1 = $#$primfaktoren;
say $counter1;
}'
5
print join '*', @array;
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
sub primeFactorization
{
my $divisor = $_[0];
my $z1 = $_[1];
my $z1tmp = $z1;
my $remainder = 0;
my @primeFactors;
$divisor++;
if ($divisor <= $z1)
{
$remainder = $z1tmp % $divisor;
if ($remainder == 0)
{
@primeFactors = (@primeFactors, $divisor);
$z1tmp = $z1tmp /= $divisor;
$divisor = 1;
print ("@primeFactors\n"); #Testausgabe nach jedem Durchlauf
}
primeFactorization ($divisor, $z1tmp);
}
else
{
output (\@primeFactors);
}
}
Quote@primfaktoren = $_[0];
print "@liste";