蠻力法求解「獄吏問題」

2021-08-17 23:19:53 字數 502 閱讀 5023

問題描述:獄吏問題;某國王對囚犯進行大赦,讓一獄吏n次通過一排鎖著的n間牢房,每通過一次按所定規則轉動n間牢房中的某些門鎖,每轉動一次原來鎖著的被開啟,原來開啟的被 鎖上通過n次後,門鎖開著的,牢房中的犯人被放出,否則,犯人不得釋放。

轉動門鎖的規則是這樣的,第一次通過牢房,從第一間開始轉動每一把鎖,即把全部鎖開啟;第二次通過牢房時,從第二間開始,每隔一間轉動一次;……;第k次通過牢房,第k間開始轉動,每隔k-1 間轉動一次;問經過n次後,那些牢房的鎖依然是開著的。

源**:

#include 

#include

int main()

//i表示通過牢房的次數,j表示要轉動的鎖的編號

for (i = 1; i <= n; i++)

}for (i = 1; i <= n; i++)

}free(p);

return

0;}

蠻力法 獄吏問題

某國王大赦囚犯,讓一獄吏n次通過一排鎖著的n間牢房,每通過一次,按所定規則轉動n間牢房的某些門鎖,每轉動一次,原來鎖著的門被開啟,原來開啟的門被鎖上,通過n次後,門開著的,牢房中的犯人放出,否則犯人不得釋放。轉動門鎖的規則是這樣的,第一次通過牢房,從第1間開始要轉動每一把門鎖,即把全部的鎖開啟 第2...

蠻力法求解冪集問題

對於給定的正整數n n 1 求1到n構成的集合的冪集 包括全集和空集 思路將二進位制位與冪集對應起來,n的冪集個數為2 n2 n 2n,每乙個二進位制位代表乙個元素。下面以n等於3為例。集合元素 對應的二進位制位 對應的十進位制數 000 0011 0102 0113 1004 1015 1106 ...

蠻力法求解0 1揹包問題C

先佔坑 include include 以下三個庫用於計算程式運算時間 include include include using namespace std define n 100 struct goods int n,bestvalue,cv,cw,c 物品數量,價值最大,當前價值,當前重量,...