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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 #!/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";
Partager