約瑟夫2

void CTest::TestJosephTwo()
{
    CircleList<int> jobs;

    int n = 15; // 人數,一共15人,從1 開始
    int m = 4; //  每回報m這個數的人退出隊列

    for(int i=1; i<=n; i++)
    {
        jobs.AddTail(i);
    }

    

    // 數論
    int s =0;
    for(int i = 2; i <= n; i++)
    {
        s = (s + m)%i;
    }

    cout<< jobs.GetAt(s) << endl;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章