pierrejean
XLDnaute Barbatruc
Re : [Maths] Challenge - trouver algorithme à propos du cercle de Josephus Flavius
Re
Ayant suivi un peu le fil je m'apercois qu'il peut y avoir option sur le nombre de survivants
Dans ce cas une fonction derivée a tester
Re
Ayant suivi un peu le fil je m'apercois qu'il peut y avoir option sur le nombre de survivants
Dans ce cas une fonction derivée a tester
Code:
Function Flavius3(soldats As Integer, intervalle As Integer, restant As Integer, Optional debut As Integer = 2) As String
For n = 1 To soldats
cercle = cercle & Format(n, "000") & ","
Next n
posel = (debut + intervalle - 2) * 4 + 1
el = Mid(cercle, posel, 4)
While Len(cercle) > restant * 4
cercle = Replace(cercle, el, "")
If posel + (intervalle - 1) * 4 > Len(cercle) Then
posel = posel + (intervalle - 1) * 4 - Len(cercle)
Else
posel = posel + (intervalle - 1) * 4
End If
el = Mid(cercle, posel, 4)
Wend
For n = 0 To UBound(Split(cercle, ",")) - 1
cercle1 = cercle1 & CInt(Split(cercle, ",")(n)) & ","
Next n
Flavius3 = Left(cercle1, Len(cercle1) - 1)
End Function