Прости, я не могу это щас решить
Объяснение:
Берём например ip 210.171.30.128
Берем число 210 и начинаем делить на 2.
210 поделить на 2 равно 105 с остатком 0.
105 раздели на 2 равно 52 с остатком 1.
52 поделить на 2 выходит 26 с остатком 0.
26 поделим на 2 - получится 13 с остатком 0.
13 - 6 с остатком 1.
Делим 6 и получаем 3 с остатком 0.
3 на 2 - выходит 1 с остатком 1.
1 поделить на 2 - получается 0 с остатком 1.
Теперь записываем значение в обратном порядке (с конца): 11010010.
Прости, но тебе придётся самому решить
int main()
{
int nn,kk;
printf("Enter peoples and -kk: ");
scanf("%d%d",&nn,&kk);
int n[nn];
int k = kk;
int sum, p, l = 0, i = 0, q = 0;
for(int i = 0; i < nn; i++)
{
n[i] = 1;
printf("%d ",n[i]);
}
printf("\n");
do{
sum = 0;
p = l;
q = 0;
for(int i = 0; i < nn; i++)
{
if(n[i])
{
sum++;
}
}
for(;q!=kk;)
{
if(i==nn) i = 0;
if(n[i])
{
p++;
q++;
}
if(q==kk)
{
n[i] = 0;
l = i;
}
i++;
}
for(int i = 0; i < nn; i++)
{
printf("%d ",n[i]);
}
printf("\n");
}while(sum>2);
for(int i = 0; i < nn; i++)
{
if(n[i])
{
printf("Last: %d#",i+1);
}
}
return 0;
}