Реализуйте функцию inspect_bits, которая проверяет, содержит ли данное число 2 или более последовательных в своем двоичном представлении. Если это так, функция должна вернуть 1. В противном случае она должна вернуть 0.
Например, inspect_bits (13) должен возвращать 1, поскольку он содержит 2 последовательных в двоичном представлении (1101).
Программа работает для определенных чисел, в данном случае 13, и некоторых других, однако программа не работает для «8», «10» и некоторых других чисел.
#include <stdlib.h>
#include <stdio.h>
int inspect_bits(unsigned int number)
{
int arr[32];
int i=0,temp,c=0;;
while(number > 0)
{
arr[i] = number%2;
number = number/2;
i++;
}
for (int j=i-1; j>=0; j--)
{
temp = arr[j];
for (int k=j+1; k>0; k--)
{
if (temp==arr[k])
c++;
}
}
if (c != 0)
return 1;
else
return 0;
}
#ifndef RunTests
int main ()
{
printf("%d", inspect_bits(13));
}
#endif