約瑟夫問題 也叫丟手帕問題

2021-06-21 10:54:36 字數 452 閱讀 7996

約瑟夫問題(也叫丟手帕問題)不涉及很多演算法,但卻是乙個很好的邏輯訓練題!也是acm訓練oj上的一道題(

我用陣列模擬做了一下:

//丟手帕問題   約瑟夫問題

#include#includeint main()

a[i]=1;//置1 出列

while(a[i]==1)//找下乙個開始的位置

i=(i+1)%n;//注意死迴圈

begin1=i;

n1--;

printf("%d\t\t",n1);

for(i=0;i

還有人發現了他們之間的規律,用遞推做的(預設開始是1):

#include int main()

return 0;

}

這個我沒有仔細研究。

其實這個問題如果用單迴圈鍊錶應該思路更清晰,以後在完善一下!

用PHP實現丟手帕問題(約瑟夫問題)

問題描述 有n個人圍成一圈,然後從任意指定的乙個 人那裡為起點,以m個人為單位,每轉m個人第m個人被殺死。求最後不會被殺死的人。遺留問題 在此用php做簡單的實現,php中對遞迴有100次的深度限制,所以在此不用遞迴,用迴圈 php中處理陣列的函式比較多,所以採用順序表 陣列 順序表刪除元素比較複雜...

單向環形鍊錶,約瑟夫問題(丟手帕)

public class josepfu 建立乙個環形的單向鍊錶 class circlesinglelinkedlist boy curboy null 輔助指標,幫助構建環形鍊錶 使用for迴圈建立環形鍊錶 for int i 1 i nums i else 遍歷當前的環形鍊錶 public v...

丟手帕問題java實現

package com.xiaowen public class demo4 class child 環形鍊錶 class cyclink 設定鍊錶大小 public void setlen int len 設定從第幾個人開始數數 public void setk int k 開始play publ...