From 2f1fe8ed723af972a10e208ea3c798dfba48b4d7 Mon Sep 17 00:00:00 2001 From: Mistivia Date: Sat, 6 Sep 2025 22:54:30 +0800 Subject: solve 69 --- c/0069/main.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 c/0069/main.c diff --git a/c/0069/main.c b/c/0069/main.c new file mode 100644 index 0000000..86aab4a --- /dev/null +++ b/c/0069/main.c @@ -0,0 +1,26 @@ +#include +#include + +int mySqrt(int x) { + int64_t t = x; + int64_t ln = 0, rn = x; + while (ln <= rn) { + int64_t mid = ln + (rn - ln) / 2; + if (mid * mid < x) { + if ((mid + 1) * (mid + 1) > x) { + return mid; + } + ln = mid + 1; + } else if (mid * mid > x) { + rn = mid - 1; + } else { + return mid; + } + } + return -1; +} + +int main() { + printf("%d\n", mySqrt(9)); + return 0; +} -- cgit v1.0