#Ecrire un script “Perl” qui : #• Sollicite N nombre entier positif au clavi #valeur nulle (0) #• Calcule et affiche les diviseurs communs #• Exemple : #• 12 #• 18 #• 27 #• Diviseurs communs : 1 3 #!/usr/bin/perl -w use strict; my @Tabval = (); #Tableau de valeurs my $i; #indice de boucle my $j; #indice de boucle my $valIn ; #valeur entree my @Divise1; #Tableau de valeurs des diviseurs de la première valeur du tableau @Tabval my $LimVal1; my $comp = 0; #Compteur d'indice pour la comparaison print "Entrez une liste de nombre positifs \n" ; while(1) { chomp($valIn = ); if($valIn != 0) { push(@Tabval , $valIn); } else {last ;} } $LimVal1 = int($Tabval[0]/2); #Tableau des diviseurs du 1er elt de Tabval for ($i=1; $i<= $LimVal1; $i++) { if (($Tabval[0] % $i)==0) { push(@Divise1, $i); } } push(@Divise1, $Tabval[0]); #Ajouter la premiere valeur des elts entre à fin du tableau de ses diviseurs #Affichage des diviseurs commun print "Diviseur communs: "; $j=0; while($j <= $#Divise1) { $i=1; while($i <= $#Tabval) { # Teste si la valeur des diviseur s du premier elt du tableau des valeurs initiales divise les autres elts du tableau if(($Tabval[$i] % $Divise1[$j])==0) {$comp = ($comp +1 ) ; } $i++; } #Si le diviseur divise tous les elments du tableau entre au debut, alors affiche ce diviseur if($comp == ($#Tabval )) {print "$Divise1[$j] " ;} $comp = 0; $j++; } print "\n";