有一个挺难的题,希望有老师为我梳理思路!谢谢您

据说,鲁智深一天中午匆匆来到开封府大相国寺,想蹭顿饭吃,当时大相国寺有99个和尚,只做了99个馒头,智清长老不愿得罪鲁智深,便把他安排在一个特定位置,之后对所有人说,从我开始报数(围成一圈),第5个人可以吃到馒头(并退下),按照这个公平的方法,所有和尚都吃到了馒头,唯独鲁智深没有吃上。请问他在哪个位置?

qq_BF_1
浏览 1980回答 3
3回答

Virture

呵呵呵

慕尼黑1032588

#include<iostream> using namespace std; void main() { int queue[100]; for (int i = 0; i < 100; i++) queue[i] = i + 1;          //围成一圈100个人 int outnum = 0;                 //离开人数 int circlenum = 0;              //循环指针 int num = 0;              //报数 int result; while (outnum != 100) { if (circlenum == 100) circlenum = 0;                       //循环报数 if (queue[circlenum] != 0) { num++; if (num == 5)           { cout << queue[circlenum] << " "; result = circlenum;               //留下最后出去的人就是鲁智深 queue[circlenum] = 0;             //0代表吃上馒头,出去 num = 0;                          //重新报数 outnum++; //出去的人数 } } circlenum++; } cout << endl << "鲁智深的位置是:"<<result<<endl; }酱紫了..............
打开App,查看更多内容
随时随地看视频慕课网APP