今天,工作不是很忙,閒暇的時候突然想起小時候玩的乙個小遊戲:一種花色的13張撲克牌,疊放在一起,隔一張取一張,取出的牌按順序a-k排列,那原來的牌該按什麼順序疊放呢?想了想,跟約瑟夫環差不多,只是逆向的,要從結果反推。
// revesejosephson.cpp : 定義控制台應用程式的入口點。
#include #include #include #include /* 結構體和函式宣告 */
typedef struct _node_t
node_t;
/* 功能函式實現 */
/** name: node_t_create
* params:
* n [in] 輸入要構造的鍊錶的個數
* return:
* 返回構造成功的環形單向鍊錶指標
* notes:
* 構造節點數量為 n 的環形單向鍊錶**/
node_t * node_t_create(int n)
p_node->n_num = n;
p_node->next = p_ret;
} return p_ret;}/*
* name: main
* params:
* none
* return:
* int
* notes:
* main function
*/int main()
/* 輸出第 m 個節點的值 */
//printf("%d\n", p_iter->next->n_num);
result_list[p_iter->next->n_num-1]=k++;
/* 從鍊錶中刪除第 m 個節點 */
p_iter->next = p_iter->next->next;
p_iter = p_iter->next;
} //printf("%d\n", p_iter->n_num);
result_list[p_iter->n_num-1]=k;
for (int i=0;i<13;i++)
/* 釋放申請的空間 */
free(p_list);
}
上面的**,也借用了中約瑟夫環的實現,只是加了點東西,改了改,滿足我的需要,希望借用不會介意,謝謝,呵呵
約瑟夫問題 約瑟夫環
約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...
約瑟夫問題 約瑟夫環
約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...
Josephu 約瑟夫 約瑟夫環 問題
version 2019年08月08日 public class josepfu 建立乙個環形的單向鍊錶 class circlesinglelinkedlist 輔助指標,幫助構建環形鍊錶 boy curboy null for int i 1 i nums i else 遍歷當前的環形鍊錶 pu...