錯(cuò)排就是全錯(cuò)排序的意思: 首先需要知道在n個(gè)數(shù)中選出m個(gè)使其錯(cuò)排的可能,也就是高中數(shù)學(xué)的C(n,m);其次是這m個(gè)數(shù)全部錯(cuò)排的方法數(shù)。 錯(cuò)排問(wèn)題是有自己的公式的,也就是f(n)=(n-1)*[f(n-1)+f(n-2)].接下來(lái)就是有趣的證明:
首先考慮,如果開(kāi)始有n-1個(gè)新郎,并且這n-1個(gè)人都已經(jīng)完成了錯(cuò)排(有f(n-1)種可能),現(xiàn)在又來(lái)了一個(gè)人,那么后來(lái)的第n個(gè)人可以通過(guò)用自己的新娘去和那n-1個(gè)人中的任意一個(gè)交換,來(lái)實(shí)現(xiàn)n個(gè)人都錯(cuò)排。這種情況有(n-1)*f[n-1]種可能; 另外,如果開(kāi)始的n-1個(gè)人不是都錯(cuò)排,那么要想使第n個(gè)人過(guò)來(lái)與其中一個(gè)交換后實(shí)現(xiàn)錯(cuò)排的話(huà)就必須滿(mǎn)足兩個(gè)條件: 1.那n-1個(gè)人中只有一個(gè)人選到了自己的新娘,也就是說(shuō)有n-2個(gè)人都已經(jīng)錯(cuò)排了。 2.第n個(gè)人必須和那個(gè)選到自己新娘的人去交換,但那個(gè)選到自己新娘的人可以是n-1個(gè)人中的任意一個(gè)。這種情況有(n-1)*f[n-2]種可能。 其他情況都不能滿(mǎn)足n個(gè)人錯(cuò)排。 因此遞推關(guān)系:f[n]=(n-1)*(f[n-1]+f[n-2])
用PRintf輸出%的方法:printf(“%%”);百分號(hào)控制輸出格式,因此連續(xù)兩個(gè)百分號(hào)就可以輸出百分號(hào)了。 真好o(^▽^)o
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注