国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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


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

分享到微博請遵守國家法律
定安县| 积石山| 龙里县| 如东县| 安岳县| 濮阳市| 伊通| 新田县| 上杭县| 斗六市| 左权县| 鸡东县| 沂源县| 镇雄县| 宝山区| 英德市| 郎溪县| 清涧县| 玛纳斯县| 洪泽县| 垣曲县| 盐源县| 桂东县| 大丰市| 海城市| 准格尔旗| 东兴市| 贺兰县| 英山县| 万安县| 白山市| 巴塘县| 稻城县| 吴忠市| 阿克陶县| 丹棱县| 南丰县| 广水市| 鹿邑县| 南部县| 德庆县|