int findTheWinner(int n, int k) {
n = n-1;
k = k-1;
int numFriends[n+1];
int num = k;
int cnt = 0;
int mainNum = 0;
mainNum = n-cnt;
for(int x = 1; x <= n+1; x++){
numFriends[x-1] = x;
}
while(true){
//
while(true){
mainNum = n-cnt; //4-1=3
int draftFrinds[mainNum+1];
int cnt1 = 0;
int p;
int q;
int r;
if(mainNum < 0){
return 1;
break; break;
}
if(mainNum < k){
num = k - mainNum;
q = mainNum;
for(;;){
if(num > mainNum){
num = (num - mainNum)-1;
}
else{
break;
}
}
}
if(mainNum == k){
q = mainNum - 1;
num = k - mainNum;
}
if(mainNum > k){
num = k+1;
q = mainNum;
}
p = num-2;
if(p < 0){
p = mainNum - 1;
}
else{
p = num-2;
}
for(int i = num; i <= q; i++){
draftFrinds[cnt1] = numFriends[i];
cnt1++;
}
for(int j = 0; j <= p; j++){
draftFrinds[cnt1] = numFriends[j];
cnt1++;
}
for(int h = 0; h <= mainNum; h++){
numFriends[h] = draftFrinds[h];
}
/*if(cnt == 3){
while(true){
Serial.println(num);
Serial.println("-----------");
Serial.println(numFriends[0]);
Serial.println(numFriends[1]);
Serial.println(numFriends[2]);
Serial.println(numFriends[3]);
Serial.println(numFriends[4]);
Serial.println(numFriends[5]);
while(true);
}
}*/
cnt++;
break;
}
if(mainNum == 1){
break;
}
}
return numFriends[0];
}
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(findTheWinner(10,7));
}