View Code of Problem 80

#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<stdio.h>
#include<string.h>
#include<cmath>
using namespace std;
int main()
{
    int n;
    while(scanf("%d",&n),n)
    {
        queue <int> q;
        for(int i=1;i<=n;i++)
            q.push(i);
        int cnt=n;
        while(cnt>1)
        {
            for(int i=0;i<2;i++)
            {
                int tem=q.front();
                q.pop();
                q.push(tem);
            }
            q.pop();
            cnt--;
        }
        cout<<q.front()<<endl;
    }
   return 0;
}

Double click to view unformatted code.


Back to problem 80