求教很牛的約瑟夫演算法,求教一個很牛的約瑟夫演算法

2022-11-13 01:35:12 字數 735 閱讀 8000

1樓:匿名使用者

時間有限,我沒仔細研究

大概是這樣的

t < n的時候,我想你清楚

t > n的時候,每次迴圈t都減去一次n,然後通過(t-n-1)/(m-1)來計算進位,所謂的進位就是比如n = 100,m = 20的時候,i = 5的時候,前面的20已經計算過了,所以要去掉,那麼就是21了。

至於為什麼是(t-n-1)/(m-1)等我有時間再來寫。

不過我順便找來一個blog,上面有具體說明

2樓:匿名使用者

t=i*m意思就是迴圈的圈數*步長,也就是起點。

第一次的時候,i=1,t=m

while(t>n)也就是m>n,即步長超過一圈。

那麼t的位置應該在(t-n)是減去一圈,(t-n-1)/(m-1)這個是個取整,取出來的值是為了摳掉上次計算選出來的t值。(當然第一次的時候沒有上一次,所以取整後的結果為0)

經過上面的計算之後,printf("%d\n",t);輸出t.

然後周而復始

3樓:

把程式放到vc裡面,自己給n,m賦上值,然後在while裡面設個斷點,執行一遍,把每次截獲的資料記下來,看一遍,你就什麼都明白了。

程式設計這東西,每個人的思路都不盡相同,與其費力去理解別人的思路,為什麼不自己去鑽研下呢

求教問題吧,求教一個問題吧

set rs server.createobject adodb.recordset rs.open select name,sum a1 as fs1,sum a2 as fs2,sum a3 as fs3,sum a4 as fs4,sum a5 as fs5,sum a6 as fs6,sum...

求教c語言問題,求教一個C語言問題

x y z是賦值語句,賦值語句一般都是為true的,程式可以簡單解釋為 x y z是否正確,正確的話輸出c選項,不正確的話則輸入d選項。讓我們來看看在處理的主要功能 pa 環節 pa pa值 2.5 pb b pb點到b的地址指向的地址,pb值9.0 呼叫子 ba,pa,pa ba 9.0 2.5 ...

數學題求教,求教一個數學題,

列方程求解 設每件童裝降價x元 則每件童裝的盈利為 40 x 元 每天多售出的件數為 x 4 8 2x件 所以方程為 40 x 20 2x 1200 解得的方程為x 10或20 所以每件童鞋應降價10或20元 那對商場來說肯定是降10元就好了 節省勞動力嘛另外 題目只要求每天盈利1200元整 不要畫...