solutions/The Last Algorithms Course .../5. Two Crystal Balls.c

33 lines
571 B
C
Raw Normal View History

2024-04-22 00:59:24 -04:00
#include <math.h>
#include <stdio.h>
#define SIZE 999
int two_crystal_balls_search(int array[], int size, int value)
{
int i = 0;
int step = sqrt((double)(size));
for (; i < size; i = i + step)
if (array[i] >= value)
break;
printf("Step is: %d\n", step);
printf("The first one broke at: %d\n", i);
i = i - step;
for (; i < i + step; ++i)
if (array[i] >= value)
return i;
return -1;
}
int main()
{
int array[SIZE];
for (int i = 0; i < SIZE; ++i)
array[i] = i;
printf("The balls break at: %d\n", two_crystal_balls_search(array, SIZE, 567));
}