c++ 关于约瑟夫函数的一个问题,求解。
怎么理解这个函数啊?最主要的是内层循环看不懂,知道什么意识,就是不知道怎么运算的,为什么要这么坐?求解答。万分感谢。...
怎么理解这个函数啊 ?
最主要的是内层循环看不懂,知道什么意识,就是不知道怎么运算的,为什么要这么坐?
求解答。
万分感谢。 展开
最主要的是内层循环看不懂,知道什么意识,就是不知道怎么运算的,为什么要这么坐?
求解答。
万分感谢。 展开
3个回答
展开全部
如果我理解没错的话,L->length应该指的是剩余的总人数。n是用来表示下标的,下标肯定不能超过人数啊,所以对人数取模。例如一共有5个人,从1开始报数,第5个人报过之后,下标不能变成6,应该变成6%5也就是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这不是很清楚吗?比如5个人,报道7的人丢下去。但是5个人来一轮也才到5啊。所以j会一直加,知道遇见J = m;但是人数不会一直家,所以实际上第六个人就是第一个,第七个人就是第二个。
n = 6 % 5 = 1;
n = 7 % 5 = 1;
这意思就是当人的坐标超过了最大人数时候将这个人的坐标置为0,循环内也可以这么写
if (n == L->length)//即现在是最后一个人了
{
n = 0;
}
n = 6 % 5 = 1;
n = 7 % 5 = 1;
这意思就是当人的坐标超过了最大人数时候将这个人的坐标置为0,循环内也可以这么写
if (n == L->length)//即现在是最后一个人了
{
n = 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询