Pagini recente » Cod sursa (job #2608679) | Cod sursa (job #2199986) | Cod sursa (job #2050832) | Cod sursa (job #1898611) | Cod sursa (job #2750555)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void joc( int copii[], int n, int pas, int start, vector < int > &eliminati ){
int contor = 0;
int pozitie = start;
while( contor != pas ){
contor++;
pozitie++;
if( pozitie == n+1 ) pozitie = 1;
}
eliminati.push_back(copii[pozitie]);
for( int i = pozitie; i < n; i++ ){
copii[i] = copii[i+1];
}
pas++;
n--;
if( pozitie == 1 ) start = n;
else start = pozitie - 1;
if ( n != 0 ) joc( copii, n, pas, start, eliminati );
else return;
}
int main(){
int n;
ifstream fin("order.in");
ofstream fout("order.out");
fin >> n;
int copii[n+1];
vector < int > eliminati;
for( int i = 1; i <= n; i++ ){
copii[i] = i;
}
joc( copii, n, 1, 1, eliminati);
for( int i = 0; i < n; i++ ){
fout << eliminati[i] << " ";
}
}