中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C語言完全平方數算法有哪些

小樊
90
2024-06-20 01:18:26
欄目: 編程語言

  1. 暴力法:遍歷所有可能的完全平方數,判斷是否等于給定的數。
#include <stdio.h>

int isPerfectSquare(int num) {
    for (int i = 1; i * i <= num; i++) {
        if (i * i == num) {
            return 1;
        }
    }
    return 0;
}

int main() {
    int num;
    printf("Enter a number: ");
    scanf("%d", &num);

    if (isPerfectSquare(num)) {
        printf("%d is a perfect square.\n", num);
    } else {
        printf("%d is not a perfect square.\n", num);
    }

    return 0;
}
  1. 二分查找法:利用二分查找的思想,在范圍內查找給定數的平方根,判斷是否為完全平方數。
#include <stdio.h>

int isPerfectSquare(int num) {
    long left = 1, right = num;

    while (left <= right) {
        long mid = left + (right - left) / 2;
        long square = mid * mid;

        if (square == num) {
            return 1;
        } else if (square < num) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }

    return 0;
}

int main() {
    int num;
    printf("Enter a number: ");
    scanf("%d", &num);

    if (isPerfectSquare(num)) {
        printf("%d is a perfect square.\n", num);
    } else {
        printf("%d is not a perfect square.\n", num);
    }

    return 0;
}

這兩種算法都可以判斷一個數是否為完全平方數,第二種算法的效率更高一些。

0
峨眉山市| 呼玛县| 荥阳市| 随州市| 都昌县| 浑源县| 柳州市| 呼玛县| 博罗县| 富阳市| 耿马| 光泽县| 稻城县| 札达县| 砀山县| 白朗县| 德令哈市| 通化市| 安丘市| 瑞安市| 宁都县| 枝江市| 新源县| 青铜峡市| 万荣县| 彭泽县| 湘乡市| 通渭县| 甘泉县| 凌云县| 新丰县| 仁化县| 宁阳县| 万安县| 文安县| 延川县| 应城市| 平乐县| 阜康市| 汕头市| 丰镇市|