Bonjour,

petit souci dans mon code (pas de plantation ) que je n'arrive pas à résoudre. Pourriez vous m'aider s'il vous plaît?

j'ai ce message d'erreur lorsque le maxPrime est supérieur à 46_348:

"Exception in thread "main" java.lang.IndexOutOfBoundsException: Index -2146737495 out of bounds for length 50001"
Je vous remercie par avance du temps que vous me consacrez!!!

Bonne journée à vous et prenez soin de vous pendant cette période de confinement !


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
29
30
31
32
33
34
fun primeNumber() {
 
        val maxPrime: Int = 50000
 
        var isPrime = mutableListOf<Boolean>()
        var primes = mutableListOf<Int>()
 
        fun boucleTrue() {
 
            for (index in 0..maxPrime) {
 
                isPrime.add(true)
            }
            isPrime[0] = false
            isPrime[1] = false
 
        }
        boucleTrue()
 
        fun boucleFalse() {
 
            for (i in 2..maxPrime) {
                if (isPrime[i]) {
                    var j = i * i
 
                    while (j <= maxPrime) {
                        isPrime[j] = false
                        j += i
                    }
                    primes.add(i)
                }
            }
        }
        boucleFalse()