亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C語言完全平方數如何降低復雜度

小樊
84
2024-06-20 01:26:24
欄目: 編程語言

要降低C語言中判斷一個數是否為完全平方數的復雜度,可以采用二分查找的方法。具體步驟如下:

  1. 如果目標數為負數,則直接返回false。
  2. 初始化左邊界為1,右邊界為目標數本身。
  3. 在左邊界小于等于右邊界的條件下,進行循環:
    • 計算中間值mid = (left + right) / 2。
    • 如果mid*mid等于目標數,則返回true。
    • 如果mid*mid小于目標數,則將左邊界更新為mid+1。
    • 如果mid*mid大于目標數,則將右邊界更新為mid-1。
  4. 如果循環結束后仍未找到完全平方數,則返回false。

通過二分查找的方法,可以將判斷完全平方數的復雜度降低到O(logn)級別,提高了算法的效率。以下是一個示例代碼:

bool isPerfectSquare(int num) {
    if (num < 0) {
        return false;
    }
    
    long long left = 1, right = num;
    
    while (left <= right) {
        long long mid = left + (right - left) / 2;
        
        if (mid * mid == num) {
            return true;
        } else if (mid * mid < num) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    
    return false;
}

0
共和县| 永善县| 饶河县| 察哈| 台湾省| 高碑店市| 襄汾县| 图们市| 都匀市| 芜湖县| 翁牛特旗| 泾阳县| 临朐县| 民权县| 沭阳县| 楚雄市| 朝阳市| 宁乡县| 崇礼县| 东明县| 渝北区| 德昌县| 且末县| 民丰县| 寻甸| 吉林省| 浦东新区| 鸡东县| 宣恩县| 县级市| 米脂县| 惠州市| 杭州市| 金华市| 康保县| 侯马市| 福安市| 加查县| 随州市| 顺义区| 泸定县|