五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【題目講解】約瑟夫問題

2023-03-09 00:12 作者:bigbigli_大李  | 我要投稿

2037 約瑟夫問題

N個人圍成一圈,從第一個人開始報數(shù),數(shù)到M的人出圈;再由下一個人開始報數(shù),數(shù)到M的人出圈;…輸出依次出圈的人的編號。

【輸入】輸入N和M。

【輸出】輸出一行,依次出圈的人的編號。

分析

  • 將這N個人的狀態(tài)保存到一維數(shù)組中,并設定初始狀態(tài)為1,表示沒有出圈

  • 循環(huán)判斷當前人是否是第m個人,如果是,這個人出圈(置為0)

  • 如果出圈人數(shù)和總?cè)藬?shù)相等,表示所有人都出圈了,跳出循環(huán)

參考程序

#include?<iostream>
using?namespace?std;
int?main()
{
?int?n,m,a[1100],k=1,s=0;
?cin?>>?n?>>?m;
?//把n個的初始狀態(tài)置為1,表示都沒有出圈
?for(int?i=1;i<=n;i++)?a[i]?=?1;
?while(1){
??for(int?i=1;i<=n;i++){
???if(a[i]!=0){
????//判斷當前的人是否是第m個人
?????if(k%m==0){
??????cout?<<?i?<<?"?";
??????a[i]?=?0;?//表示找到這個人,出圈
?????s++;
?????}
?????k++;
?????if(k>m)?k?=?1;
???}
??}
??//如果出圈的人與總?cè)藬?shù)相等,那么跳出循環(huán)
??if(s==n)?break;?
?}?
?return?0;
}


【題目講解】約瑟夫問題的評論 (共 條)

分享到微博請遵守國家法律
山阴县| 青川县| 濮阳县| 绥滨县| 黔南| 广丰县| 西丰县| 临澧县| 沙河市| 乌兰察布市| 邵武市| 长乐市| 罗田县| 新田县| 枣庄市| 应城市| 石门县| 盐池县| 手游| 新宾| 云和县| 南丹县| 景德镇市| 铁岭县| 高雄市| 惠安县| 应城市| 如东县| 连城县| 五华县| 昭通市| 三台县| 巴南区| 赤城县| 兴隆县| 吴旗县| 盱眙县| 内黄县| 邻水| 习水县| 石阡县|