牛客程式設計題 刪數(約瑟夫環問題)

2021-09-23 15:33:42 字數 562 閱讀 7701

問題描述:

有乙個陣列a[n]順序存放0~n-1,要求每隔兩個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置。以8個數(n=7)為例:{0,1,2,3,4,5,6,7},0->1->2(刪除)->3->4->5(刪除)->6->7->0(刪除),如此迴圈直到最後乙個數被刪除。

輸入描述:

每組資料為一行乙個整數n(小於等於1000),為數組成員數,如果大於1000,則對a[999]進行計算。

輸出描述:

一行輸出最後乙個被刪掉的數的原始下標位置。

這是典型的約瑟夫環問題,以下為實現**:

#include #include using namespace std;

void joseph(int count, int doom)

index = (index + 1) % count; }}

int main()

system("pause");

return 0;

}

牛客網 刪數

有乙個陣列a n 順序存放0 n 1,要求每隔兩個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置。以8個數 n 7 為例 0,1,2,3,4,5,6,7 0 1 2 刪除 3 4 5 刪除 6 7 0 刪除 如此迴圈直到最後乙個數被刪除。輸入描述 每組資料為一行乙個整數...

牛客刷題 自守數(程式設計題)

自守數是指乙個數的平方的尾數等於該數自身的自然數。例如 25 2 625,76 2 5776,9376 2 87909376。請求出n以內的自守數的個數 int型整數 n以內自守數的數量。20008while true try n int input res 0 for i in range n i...

趣味程式設計 約瑟夫環問題

問題來歷 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也不要被敵人抓到,於是決定了乙個自殺方式,41個人排成乙個圓圈,由第1個人開始報數,每報數到第3人該人就必須自殺,然後再由下乙個重新報...