A vos marques, prêts, partez.
Si je reprends l'écriture que j'ai utilisé plus haut :
Pour connaître XP au niveau i+1, j'utilise la formule XP(i+1) = XP(i) + 1000*i
Ca, c'est une suite, donc si je veux connaître XP au rang n en fonction de n et de X(1), j'ai la formule :
XP(n)=XP(1)+1000*[Somme(k=1..n-1) de k]
Sachant que XP(1)=0, j'ai donc XP(n)=1000*[Somme(k=1..n-1) de k]
Exemple avec n=6 XP(6)=1000*[Somme(k=1..5) de k]=1000*(1+2+3+4+5)=1000*15=15000 On retombe bien sur nos pattes.
Maintenant, comme le rappelle si gentiment El Nounourso, les maths me disent que [Somme(k=1..n-1) de k]=n*(n-1)/2
D'où XP(n) = 1000*n*(n-1)/2
0,002*XP(n) = n*(n-1)
0,002*XP(n)+0,25 = n*(n-1)+0,25 = n²-n+0,25 = (n-0,5)² (pour rappel (a-b)² = a² - 2*a*b +b²)
sqrt(0,002*XP(n)+0,25) = n-0,5 (je m'en fous de la racine négative, les indices sont positifs)
sqrt(0,002*XP(n)+0,25) + 0,5 = n
Voici l'explication de la formule qui t'intriguait. Elle me donne bien l'indice en solution
Le floor ne servant qu'à prendre la partie entière afin d'avoir toujours un entier en sortie.
CQFD
Tain, quand je vois comment j'ai lutté pour sortir ce raisonnement en fait simple, je me dis que les maths ça s'oublie vite :S