C#約瑟夫成績處理辦法。本站提示廣大學習愛好者:(C#約瑟夫成績處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#約瑟夫成績處理辦法正文
本文實例講述了C#約瑟夫成績處理辦法。分享給年夜家供年夜家參考。詳細剖析以下:
決約瑟夫成績描寫以下:
設有n小我圍坐一圈,現以某小我開端報數,數到m的人出列,接著從出列的下一小我開端從新報數,數到m的人又出列,如斯下去,直到一切人都出列為止.按出列次序輸入.
public class Josephas
//從第start人開端計數,以alter為單元輪回記數出列,總人數為total
public int [ ] Jose(int total, int alter, int start)
{
int i, j, k = 0;
//count數組存儲按出列次序的數據,以當成果前往
int[] count = new int [ total+1];
//s數組存儲初始數據
int[] s = new int [ total+1];
//對數組s賦初值,第一小我序號為0,第二工資1,依此下去
for (i = 0; i <total; i++)
{
s[i] = i;
}
//按出列順序順次存於數組count中
for (i = total; i >= 2; i--)
{
start = (start + alter - 1) % i;
if (start == 0)
start = i;
count[k] = s[start];
k++;
for (j = start + 1; j <= i; j++)
s[j - 1] = s[j];
}
count[k]=s[1];
//成果前往
return count;
}
}
願望本文所述對年夜家的C#法式設計有所贊助。