c语言简单对数组的运用

求婚者从 1 开始报数,报单数的人退场,留下的人再从 1 开始报数,报单数的人再退场,……,到最后只剩一个人时,众人惊奇地看到这个人正是克俊。
请编写程序,输入求婚的人数 n,输出克俊应该站的位置 p。
输入格式
n
输出格式
p
输入样例
105
输出样例
64

#include<stdio.h>

int main()
{
    int n, j = 2;
    scanf("%d",&n);
    while (j <= n)
    {
        j =j*2;
    }
    printf("%d", j/2);
    return 0;
}

供参考