Bonjour,
Voici ci-dessous le même code mis sous forme de fonction ou non. Le problème est que je n'obtiens pas le même résultat quand je l'exécute alors que c'est le même code. Dans un cas (en tapant exec loto.sci) je trouve e autour de 35900 et dans l'autre cas (en tapant loto2(100000)) je trouve e autour de 16500. Le "bon" résultat est celui qui tourne autour de 35900. Mais je ne comprends pas pourquoi la fonction loto2 ne me donne pas le bon résultat.
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 e=0; for k=1:100000 j=1:49; m=0; for l=1:5 x=floor((50-l)*rand()+l); y=j(l); j(l)=j(x); j(x)=y; for p=1:l if abs(j(p)-j(l))==1 m=m+1; end end end if m>=1 e=e+1; end endMerci beaucoup.
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 function [e]=loto2(s) e=0; for k=1:s j=1:49; m=0; for l=1:5 x=floor((50-l)*rand()+l); y=j(l); j(l)=j(x); j(x)=y; for p=1:l if abs(j(p)-j(l))==1 m=m+1; end end end if m>=1 e=e+1; end end endfunction
Partager