nazzzzdaq a écrit :
Je suis d'accord pour le cas particulier. Le cas général me semble faux.
Si vous avez la correction du cas général, ça m'interesse!
|
En effet le cas général est faux, car on compte alors plusieurs fois les mêmes permutations de livres...
Pour le cas particulier, il y a encore plus simple en raisonnant par combinaisons :
> n-p+1 façons de ranger 3 livres à la suite
> combinaisons(p,n) combinaisons possibles en tout
> Soit au final : (n-p+1)*C(p,n) = (n-p+1)p!(n-p)! / n!
Pour le cas général, j'ai peut-être trouvé...c'est très loin d'être simple car il faut décompter chaque permutation une seule fois...
Enfin bref après deux pages de calcul je suis arrivé à quelque chose : en définissant f(n,k,p) comme le nombre de combinaisons d'au moins p livres (avec k livres au total) dans n emplacements possibles,
f(n,k,p) = somme(j,0,n-p, avec p divisant j+1) somme(m,max(0,k-p-(j+1)*(p-1)/p),min(n-(j+p),k-p)) ...
... [C(m,n-(j+p)) * (C(k-m-p,j) - f(j,k-m-p,p))] + ...
... somme(j,0,n-p, avec p ne divisant pas j+1) somme(m,max(0,k-p-j+E[(j+1)/p]),min(n-(j+p),k-p) ...
... [C(m,n-(j+p)) * (C(k-m-p,j) - f(j,k-m-p,p))]
C'est bien moche est inutilisable à la main, mais programmable.
Dans le cas particulier où k=p, on retrouve la formule déjà donnée.
Désolé mais je n'ai vraiment pas le temps d'écrire tous mes calculs, alors voilà le principe :
on choisit un emplacement j correspondant au début de la première séquence de k livres en partant de la gauche,
on en met m à droite n'importe comment, et le reste à gauche de façon à ce qu'ils ne forment jamais de séquences de k livres : à gauche on peut donc soustraire au nombre de combinaisons totales le résultat donné par la fonction f...
N'hésitez pas à commenter...j'essaierai de mettre les calculs dans une semaine si quelqu'un le demande.
_iOn_
---------------
Any sufficiently complex bug is indistinguishable from magic.