判断一个数是否为平方数

版权声明:本文为vB_Gg原创文章,转载注明出处。 https://blog.csdn.net/lox_J2/article/details/71177848

判断一个数是否为平方数:


根据数学的等差数列求和公式:


由此可知:任意数的平方都能用一个初值为1,等差为2的等差数列表示,所以判断一个数是不是平方数可以用这个数不断的减2,如果最后减到为0,那么这个数就是平方数,否则不是

代码如下:

#include<stdio.h>  
int IsSquare(int n)  
{  
    int i;   
    for(i=1; n>0; i+=2)   
    {  
        n-=i;   //每次都减2 减到小于0结束 
    }  
    if(n==0)  
        return 1;   //如果减到最后结果是0 就是一个平方数 
    else  
        return 0;  //否则,就不是平方数  
}  

int main()  
{  
    int n;   
    scanf("%d",&n);  

    if(IsSquare(n))  
    printf("%d是平方数\n",n);
    else
    printf("%d不是平方数\n",n);
    return 0;   
} 
展开阅读全文

没有更多推荐了,返回首页