約瑟夫問題No 2

2021-09-10 17:41:47 字數 531 閱讀 8744

思路:設定乙個陣列,將其全部設定為1.

由於陣列下標是從0開始,所以方便期間,遍歷時從(p-1)開始。

將temp作為計數的乙個工具,每當遍歷次數達到要求m時,將下標為(i%n)的陣列置為0,以至於下一次遍歷時跳過該陣列同時將計數工具置為0,重新計數。

count作為出隊的次數,由於count初始化為0,所以當出隊的陣列個數達到n-1時,全部的數都已經出隊了,跳出迴圈即可。

由於輸出要求分開輸出即可。

for

(i=p-

1;count<=n-

1;i++

) a[i%n]=0

; temp=0;

count++;}

}

#include

#include

intmain

(int argc,

char

*ar**)

}printf

("\n");

}}

約瑟夫問題No 2

題目 n 個小孩圍坐成一圈,並按順時針編號為1,2,n,從編號為 p 的小孩順時針依次報數,由1報到m 當報到 m 時,該小孩從圈 去,然後下乙個再從1報數,當報到 m 時再出去。如此反覆,直至所有的小孩都從圈 去。請按出去的先後順序輸出小孩的編號。input 每行是用空格分開的三個整數,第乙個是n...

No 2 完全揹包問題

題目 有n種物品和乙個容量為v的揹包,每種物品都有無限件可用。第i種物品的費用是c i 價值是w i 求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。基本思路 這個問題十分類似01揹包,不同的是每種物品有無限件。也就是從每種物品的角度考慮,與它相關的策略已並非取或不取兩種...

No 2 氣泡排序

學習演算法打卡第二天 今天記錄一下學的 氣泡排序 在寫上一節 桶排序 的時候,就在想我要是要將小數排序怎麼辦,或者要是排序的數的範圍在很大很大又怎麼辦?利用 桶排序 很浪費空間,浪費可恥!但是 氣泡排序 可以解決這些問題。比如我們要將5個數按從大到小的順序進行排序,利用 氣泡排序 首先將第一位和第二...