前言:
Leetcode 每日刷题,从容易题目开始,坚持不懈是成功的一半,
喜欢的朋友欢迎订阅关注,欢迎大家留言交流,共同学习共同进步~~
题目介绍:
https://leetcode.com/problems/sqrtx/
不能使用标准库sqrt,pow 函数开根号,
返回向下取整结果
解题思路:
从0开始,逐个测试每个整数平方是否小于目标值,
并且加一后,大于目标值,当前测试值即为结果。
答案C语言版本:
#include <errno.h>
#define UINT32_T_MAX 0xffffffff
int mySqrt(int x){
uint32_t i = 0;
for (i = 0; i < UINT32_T_MAX; i++) {
if ((i * i <= x) && ((i + 1) * (i + 1) > x))
return i;
}
return -EINVAL;
}