实现代码如下,主要思想循环n-1次,每次出列一个,剩下的即为需要输出的。
附源码:
int GetLast(int n, int m, int p)
{
if (n <= 0 || m <= 0 || p <= 0)
{
return -1;
}
int *pNodeList = new int[n];
if (pNodeList == NULL)
{
return -1;
}
for (int i = 0; i < n; i++)
{
pNodeList[i] = 0;
}
int iOut = p;
for (i = n-1; i > 0; i--)
{
// 获取每次的循环次数
int iNum = m%(i+1);
if (iNum == 0)
{
iNum = i+1;
}
for (int j = 0; j < iNum; j++)
{
while......
阅读全文