prime
changeset 7 6a025d656935
parent 6 ad2ed8ef3e21
child 8 27520a5fe8a4
equal deleted inserted replaced
6:ad2ed8ef3e21 7:6a025d656935
    15 my $number = $ARGV[0];
    15 my $number = $ARGV[0];
    16 
    16 
    17 die "$ME: Sorry, number >= 2 expected!\n"
    17 die "$ME: Sorry, number >= 2 expected!\n"
    18   if $number < 2;
    18   if $number < 2;
    19 
    19 
    20 #1. find all divisors of $number
    20 print join("*", getPrimes($number)), "\n";
    21 my @divisors = findDivisors($number);
       
    22 
       
    23 #print "Die Teiler von $number sind: @divisors\n";
       
    24 
       
    25 #2. delete all non primes
       
    26 my @primes = findPrimes(@divisors);
       
    27 
       
    28 #print "Die Primzahlteile von $number sind: @primes\n";
       
    29 
       
    30 # not sure about the name of the function! // .hs
       
    31 @primes = factorize($number, @primes);
       
    32 
       
    33 print join("*", @primes), "\n";
       
    34 
    21 
    35 exit;
    22 exit;
    36 
    23 
    37 #### SUBROUTINES #####
    24 #### SUBROUTINES #####
       
    25 
       
    26 # hey, this is the shortcut for calling all
       
    27 # thress steps in one single row…
       
    28 # @a = findDivisors($number);
       
    29 # @b = findPrimes(@a);
       
    30 # @c = factorize($number, @b);
       
    31 # would do the same
       
    32 sub getPrimes {
       
    33     my $number = shift;
       
    34     return factorize($number, findPrimes(findDivisors($number)));
       
    35 }
    38 
    36 
    39 sub findDivisors {
    37 sub findDivisors {
    40     my $i = 2;
    38     my $i = 2;
    41     my $m = $_[0];
    39     my $m = $_[0];
    42 
    40