最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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;
}


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

分享到微博請遵守國家法律
镇宁| 贵港市| 曲阜市| 西峡县| 建湖县| 修武县| 张掖市| 深州市| 博罗县| 大埔区| 唐山市| 齐齐哈尔市| 兴仁县| 农安县| 岱山县| 赣州市| 嘉鱼县| 商洛市| 磴口县| 广昌县| 中江县| 镇巴县| 汽车| 左权县| 沂南县| 于都县| 台州市| 沙洋县| 黎川县| 巩义市| 扬中市| 阿坝| 祥云县| 岳阳市| 双鸭山市| 锡林浩特市| 神池县| 兴海县| 霞浦县| 武山县| 西平县|