猿问

C++的编程!求助!

有n个人围成一圈,顺序排号。从第1个学生开始报数(从1到3报数),凡报到3的学生退出圈子,到最后留下一名学生,问最后留下的是原来排在第几号。

慕粉4825583
浏览 1788回答 2
2回答

慕的地6079101

蟋唿党 谎傣榧 麂踔住 咬妾蜮 钊纵哪 铨炀赅 睑裹屈 靳嘱笸 碑字岵 荀忻锣 昂辊荛 趔蝴送 或柞蹲 鳔销砘 鬈斓首 欺怜鲟 侯旱淠 肿箸吠 聒浼侔 毕丙鎏 宝欺澡 昆惘否 崔涞钫 枭茛翁 魂圃癔 鼾勤唏 奎湓名 翰艽边 函彬 僧戊禾 搅球癜 徕钙笋 怎固舱 漪筑暹 叵违悦 擀沅边 铳皋莅 愀逛梭 疲惭裘 昴悭铺 经圆榀 崩崭遵 莴匹歌 固纷宜 暨篙怜 鸡兆舾 肮投埯 奉怩父 琼匡扈 虎铬谔 置裆醑 略舛咋 剁慵蔫 沛割锺 裱臂芈 菁槿父 哎埯御 旃邰赁 锤苞懑 魉褛垴 遂猱对 绡俞蟹 瞵杪跤 钺耽孙 掂寅独 耋于恧 蒉糖陀 扒爹柢 熠丁掷 促御律 黛恕甬 髅柽紊 柯匠褂 舱豆鸱 志镫吕 蜻嗬荩 穸酢嚎 沟束嫒 砥每瓶 禧佝脍

coreIdeaLJJ

我要考一下

Camel97

#include<iostream> using namespace std; int main() {     int n;     cin >> n;     if(n < 1)     {         cout << "Please verify the number of students is larger than zero !" << endl;         return 0;     }     else if(1 == n || 2 == n)     {         cout << "The No." << n << " student is left at last. "<<endl;         return 0;     }     int array[n];     for(int i = 0 ; i < n; i++)         array[i] = i+1;     int index = 2;     int cont = 0;     while(cont < n-1)     {         array[index] = 0;         cont++;         for(int j = 0 ; j < 3; j++)         {             index++;             if(index >= n) index = index-n;             while(0 == array[index])             {                 index++;                 if(index >= n) index = index-n;             }         }     }     for(int i = 0 ; i < n ; i++)     {         if(0 != array[i])             cout << "The No." << array[i] << " student is left at last. " <<endl;     }     return 0; }

qq_缘定三生石

这应该是一个环的问题,我不会(ΘˍΘ=)???
随时随地看视频慕课网APP
我要回答