成績
10開啟時間
2023年09月27日 星期三 18:00
折扣0.8
折扣時間
2023年10月17日 星期二 23:55
允許遲交
否關閉時間
2023年10月24日 星期二 23:55
約瑟夫問題是乙個經典的問題,我們不妨將這個經典問題進行擴充套件,變成乙個雙向的約瑟夫問題。
已知 n 個人(不妨分別以編號 1,2,3,...,n 代表 )圍坐在一張圓桌周圍,首先從編號為 k 的人從 1 開始順時針報數,1, 2, 3, ...,記下順時針數到 m 的那個人,同時從編號為 k 的人開始逆時針報數,1, 2, 3, ...,數到 m 後,兩個人同時出列。然後從出列的下乙個人又從 1 開始繼續進行雙向報數,數到 m 的那兩個人同時出列,...;。依此重複下去,直到圓桌周圍的人全部出列。直到圓桌周圍只剩乙個人為止。
如果雙向報數報到 m 時落在同乙個人身上,那本次出列的只有乙個人。
例如:5,1,2。則總共5個人,從1開始順時針報數,數到2,定位編號2;同時從1開始報數數到2,定位編號5;2和5同時出列。然後繼續開始報數,順時針報數3,4,定位到4;逆時針報數4,3,定位3;4和3同時出列。最後剩餘的為編號1。輸出為:2-5,4-3,1,。
如果輸入:6,2,3。則輸出:4-6,2,1-3,5,。其中第2次只輸出乙個2,表示第二次雙向報數時,恰好都落在編號2上,所以只有乙個編號出列。
n,k,m
按照出列的順序依次輸出編號。同時出列編號中間用減號"-」連線。
a)輸入:n、k、m任乙個為0
輸出:n,m,k must bigger than 0.
測試輸入
期待的輸出
時間限制
記憶體限制
額外程序
測試用例 1
以文字方式顯示
1,0,0↵
以文字方式顯示
n,m,k must bigger than 0.↵ 1秒
64m0
測試用例 2
以文字方式顯示
1,2,1↵
以文字方式顯示
k should not bigger than n.↵ 1秒
64m0
測試用例 3
以文字方式顯示
5,1,2↵
以文字方式顯示
2-5,4-3,1,↵ 1秒
64m0
測試用例 4
以文字方式顯示
6,2,3↵
以文字方式顯示
4-6,2,1-3,5,↵ 1秒
64m0
跳過 導航
我的課程
輸入:k>n
輸出:k should not bigger than n.
函式第二次練習
1.編寫函式fun n n為三位自然數,判斷n是否為水仙花數,是返回1,否返回0。編寫main函式,輸入乙個數num,呼叫fun num 函式,並輸出判斷結果。includeint fun int n else return 0 int main 2.編寫函式ss n 判斷n是否為素數,是返回1,否...
第二次上機練習 2
一 問題及 二 執行結果 三 心得體會 四 知識點總結 上機內容 c 程式的編寫和執行 上機目的 簡單掌握c 程式的編輯 編譯 連線和執行的一般 一 檔名稱 xyz1.cpp 作 者 趙雲 完成日期 2016 年 03 月 10 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問...
ACM第二次練習 1001
題意 t組測試例項,每組輸入y,輸出x 8 x 4 7 x 3 2 x 2 3 x 6 y。思路 簡單的二分法,首先編寫函式實現輸入x求得上式的值。然後二分法搜尋下即可。感想 最初寫的那個程式總是超時,後來參照c進行了優化才過的,c裡面有些東西還是值得借鑑的。留作檢查超時錯誤 include inc...