diff --git a/sqrt/main.c b/sqrt/main.c new file mode 100644 index 0000000..1e66801 --- /dev/null +++ b/sqrt/main.c @@ -0,0 +1,35 @@ +#include "stdbool.h" +#include +#include "math.h" + +int main(int argc, char *argv[]) +{ + bool arr[] = { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true }; + + double size = sizeof(arr) / sizeof(arr[0]); + double sq = sqrt(size); + sq = floor(sq); + int i = 0; + + for (; i < (int)size; i += (int)sq) // Find the first breakage + { + if (arr[i]) + { + i -= sq; + break; + } + } + + int j = i + (int)sq; + + for (; i < (int)size && i <= j; i++) + { + if (arr[i]) + { + printf("%d", i); + break; + } + } + + return 0; +} \ No newline at end of file