基于CSS3的3D立方体旋转动画

在不使用sqrt(x)函数的情况下,得到x的平方根的整数部分

基础算法练习:在不使用sqrt(x)函数的情况下,得到x的平方根的整数部分

public class SquareRoot {

    public static void main(String[] args) {

        /**
         *
         * 在不使用sqrt(x)函数的情况下,得到x的平方根的整数部分
         * 重点考察:二分法、牛顿迭代
         */
        System.out.println(blast(4)+"\t"+blast(8)+"\t"+blast(9));

        System.out.println(binarySearch(4)+"\t"+binarySearch(8)+"\t"+binarySearch(9));

    }

    // 暴力破解
    public static int blast(int num) {
        for (int i = 0; i < num; i++) {
            int j = i + 1;
            if (i * i <= num && j * j > num) return i;
        }
        return -1;
    }


    // 二分法 ,时间复杂度 log2 N   (2是底数)
    public static int binarySearch(int num) {
        int index = -1;
        int left = 0, right = num;//二分查找的左右边界

        while (left <= right) {
            int middle = left + (right - left) / 2;
            if (middle * middle <= num) {
                index = middle;
                left = middle + 1;
            } else {
                right = middle - 1;
            }
        }

        return index;
    }

}
posted @ 2021-09-25 21:18  只会写error  阅读(135)  评论(0)    收藏  举报