Jei teisingai supratau ko prašo, turėtų būti kažkas tokio (specialiai rašiau ne C++, o Python)
Esmė tokia, sukuri masyvą su 50 elementų, kurių reikšmė yra jų indeksas. Kiekvieną kartą išmeti k-tajį elementą iš masyvo (jeigu k yra didesnis už patį masyvą - reiškia, kad apsuki bent vieną ratą). Ir viskas. Paskutinis likęs elementas turės reikšmę - rezultatą.
Nuoroda į online compilerį : Spausk čia
array = []
n = 6
k = 2
for i in range(1,n+1):
array.append(i)
while (n > 1):
n -= 1
if (k >= n):
array.pop(k-1-n)
else:
array.pop(k-1)
print array
int solve() {
int a, b;
cin >> a >> b;
for (int i = 0; i < a; i++) {
k[i] = 1;
}
int l = a;
int i = 0;
int d = b;
while (l > 1) {
d -= k[i % a];
if (d == 0) {
k[i % a] = 0;
d = b;
l--;
}
i++;
}
for (int i = 0; i < a; i++) {
if (k[i] == 1)
return i + 1;
}
return -1;
}