Om vi har n böcker och k av dessa inte får vara på sin plats så går det att göra en allmän formel som säger hur många sätt det går att göra detta på (vill man ha sannolikheten är det bara att dela med n!). Det är dock möjligt att det går att göra en snyggare än den jag kom på nu:
Kod:
n - k
∑ (C(n - k, i) * !(n - i))
i = 0
C(n, k) = n! / (k! * (n - k)!) är antalet kombinationer (dvs. att man inte tar hänsyn till ordningen) bestående av k objekt valda av n möjliga objekt.
!n kallas på engelska för subfactorial och är antalet sätt att permutera n objekt så att inget element hamnar på sin ursprungliga plats. Man kan t.ex. beräkna !n rekursivt med denna formel (men det finns ett gäng andra sätt):
!0 = 1
!n = !(n - 1) * n + (-1)^n då n ≥ 1
Tanken bakom summan är att varje del i summan är antalet sätt man kan välja i stycken element av de som får vara på rätt plats och sedan multiplicerar man det med antalet sätt det går att permutera de övriga elementen så att inte något av dessa är på rätt plats.