#!/usr/bin/perl -w # # GCD.pl # # Programma che calcola il Massimo Comun Divisore (GCD) di due numeri usando l'algoritmo di Euclide # Input: i due numeri # Output: il loro GCD # print "inserisci il primo numero (intero positivo) "; my $primo = ; # leggo il primo input chomp $primo; # tolgo il \n alla fine print "inserisci il secondo numero (intero positivo) "; my $secondo = ; # leggo il secondo input chomp $secondo; # tolgo il \n alla fine print "il Massimo Comun Divisore tra $primo e $secondo è " . &GCD($primo, $secondo) . "\n"; #--------------------------------------------------------------------------------- # Definizione di GCD secondo Euclide: # # GCD(x,0) = x # GCD(x,y) = GCD(y, x mod y) # sub GCD ($$) { # Calcola il GCD usando l'algoritmo di Euclide my ($x, $y) = @_; # assegno gli argomenti a due variabili locali return $x if ($y == 0); # se il secondo numero è 0 torno il primo return &GCD($y, $x % $y); # altrimenti calcolo il resto della divisione tra x e y e richiemo GCD } #-------------------------------------- fine --------------------------------------