Interessante in termini di velocità, ma ti mostro con un semplice output grafico che diminuendo il numero di iterazioni (concetto alla base di questo algoritmo) molti numeri non vai neanche a toccarli (le righe asteriscate, e questo succede ad ogni prova che eseguo; i due numeri rappresentano l'indice+1 nell'array ed il valore finale ivi contenuto). Può capitare che casualmente un numero rimanga nella stessa posizione, ma statisticamente mi sembrano un po' troppi - qui posso fare a meno dei manuali di calcolo combinatorio, in media soltanto un numero non dovrebbe cambiare posizione.
Codice:
1 3
2 2 <*************
3 27
4 69
5 71
6 68
7 6
8 25
9 9 <*************
10 42
11 11 <*************
12 54
13 83
14 24
15 61
16 31
17 43
18 46
19 59
20 47
21 8
22 49
23 17
24 77
25 15
26 53
27 21
28 80
29 26
30 73
31 63
32 32 <*************
33 12
34 30
35 70
36 58
37 87
38 64
39 10
40 16
41 41 <*************
42 45
43 40
44 89
45 22
46 4
47 18
48 33
49 55
50 1
51 51 <*************
52 23
53 28
54 62
55 34
56 56 <*************
57 14
58 65
59 19
60 20
61 29
62 82
63 13
64 81
65 36
66 66 <*************
67 67 <*************
68 79
69 57
70 75
71 86
72 90
73 52
74 74 <*************
75 38
76 7
77 39
78 78 <*************
79 76
80 60
81 5
82 50
83 48
84 84 <*************
85 85 <*************
86 44
87 35
88 88 <*************
89 37
90 72