的人出圈,下一個(gè)人繼續(xù)從1開始報(bào)數(shù),直到剩下一個(gè)人。本文介紹了用C語言實(shí)現(xiàn)約瑟夫環(huán)問題的數(shù)組解法。
個(gè)數(shù)字,然后將當(dāng)前位置的數(shù)字標(biāo)記為0,表示已經(jīng)出圈。當(dāng)數(shù)組中只剩下一個(gè)數(shù)字時(shí),這個(gè)數(shù)字就是一個(gè)留下來的人。
C語言實(shí)現(xiàn)
下面是用C語言實(shí)現(xiàn)約瑟夫環(huán)問題的數(shù)組解法的代碼
```clude
tain()
{t;tf的值");f);
的數(shù)字來初始化ttalloct));t; i++)
{
a[i] = i + 1;
}
t記錄出圈的人數(shù)tt = 0;
// 當(dāng)數(shù)組中只剩下一個(gè)數(shù)字時(shí),這個(gè)數(shù)字就是一個(gè)留下來的人t - 1)
{t; i++)
{
if (a[i] != 0)
{個(gè)數(shù)字t == 0)
{
// 將當(dāng)前位置的數(shù)字標(biāo)記為0,表示已經(jīng)出圈
a[i] = 0;
}
// 當(dāng)數(shù)組中只剩下一個(gè)數(shù)字時(shí),這個(gè)數(shù)字就是一個(gè)留下來的人t - 1)
{tf", a[i]);
break;
}
}
}
}
free(a); 0;
```的值7 3
一個(gè)留下來的人是4
本文介紹了用C語言實(shí)現(xiàn)約瑟夫環(huán)問題的數(shù)組解法。通過創(chuàng)建一個(gè)數(shù)組來模擬游戲過程,我們可以很容易地得到一個(gè)留下來的人。