首页主机资讯C语言完全平方数算法有哪些

C语言完全平方数算法有哪些

时间2024-06-20 16:00:06发布访客分类主机资讯浏览803
导读:暴力法:遍历所有可能的完全平方数,判断是否等于给定的数。 #include <stdio.h> int isPerfectSquare(int num { for (int i = 1; i * i <= n...

  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;

}
    

这两种算法都可以判断一个数是否为完全平方数,第二种算法的效率更高一些。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C语言完全平方数算法有哪些
本文地址: https://pptw.com/jishu/683252.html
C语言完全平方数求解技巧 德国国内云主机_发送国内短信

游客 回复需填写必要信息