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#法式設計有所贊助。