Gattuso | Bonjour,
j'ai écrit une fonction Intervalle(n,x) qui permet de retirer l'élément n d'une liste allant de 1 à n.
Je souhaite utiliser cette fonction pour retirer tous les multiples de x qui sont dans cet intervalle.
La fonction NonMult(n,x) doit faire celà
Le problème est que cette dernière fonction ne fonctionne pas comme je le souhaite.
Voici mon code :
Code :
- #!/usr/bin/perl
- use strict;
- sub Intervalle
- {
- my ($n,$x) = @_;
- my @tab;
- for(my ($i)=1; $i<$x; $i++){
- push(@tab,$i);
- }
- for(my ($j)=$x+1; $j<=$n; $j++){
- push(@tab,$j);
- }
- return @tab;
- }
- sub NonMult
- {
- my ($n,$x) = @_;
- my @t;
- for(my ($i)=1; $i*$x<=$n; $i++){
- @t = Intervalle($n,$i*$x);
- }
- return @t;
- }
- print join(" ",Intervalle(10,7))."\n";
- print join(" ",NonMult(20,3))."\n";
|
|