发新帖我要提问
12
返回列表
打印
[应用方案]

开根号算法

[复制链接]
楼主: plsbackup
手机看帖
扫描二维码
随时随地手机跟帖
21
i1mcu| | 2025-1-21 22:38 | 只看该作者 回帖奖励 |倒序浏览
#include <stdio.h>

int sqrt_binary_search(int N) {
    int low = 0, high = N, mid;
    while (low <= high) {
        mid = low + (high - low) / 2;
        if (mid * mid == N) return mid;
        if (mid * mid < N) {
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }
    return high;  // 返回小于等于平方根的最大整数
}

int main() {
    int number = 25;
    int result = sqrt_binary_search(number);
    printf("The integer square root of %d is %d\n", number, result);
    return 0;
}

使用特权

评论回复
22
houjiakai| | 2025-1-21 22:59 | 只看该作者
现代处理器通常包含专门的浮点运算单元(FPU),这些单元能够高效地执行平方根等复杂数**算。确保编译器和代码设置能够充分利用这些硬件特性。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则