因为之前的一个用数组模拟链表的方法丢失了,更重要的是我想不起来怎么写了,尝试了一下午都没能达到我想要的那种效果,真的是人老了,现在我学到另一种解法是用用stl来做,用的是queue的特性,确实是简便了不少,对那些用链表写的人来说这是。
#include<iostream>
#include<string>
#include<algorithm>
#include<queue>
using namespace std;
int main(void) {
int m;
while (cin >> m) {
if (m == 0)break;
queue<int>que;
for (int i = 1; i <= m; i++) {
que.push(i);
}
int x = 0;
for (int i = 1; i <= m; i++) {
for (int j = 1; j < 5; j++) {
que.push(que.front());
que.pop();
}
if (que.front() == 1) {
x = m - que.size() + 1;
break;
}
que.pop();
}
cout << x << endl;
}
system("pause");
return 0;
}