题目描述
问题描述
N 个人围成一圈,1,2,3 循环报数,报到M 的人退出,并将退出的序号依次存到数组p 中,包括最后一个人的序号。到最后只余1 人,输出最后留下的是第几号(最初的序号,以1起始)及。若N=6,则输出n(留下)=1 3 6 4 2 5 1;若N=10,则输出n=4 3 6 9 2 7 8 5 10 4;若N=100,则输出n=91……。函数int fun(int n ,int *p)实现上述功能,返回N 个人中最后余的1 人的起始序号,并将退出的序号顺序写入p 指向的数组中。
算法设计
TBD
C++代码
#include <iostream>
using namespace std