如何判断一个正整数的算术平方根是否也是正整数,如果是,那么怎样求其算术平方根,不用计算器及所有的电子工具

1个回答

  • 判断和计算一起进行.

    手动二分法.

    首先函数f(x)=sqrt(x)是一个在[0,+∞)上单调递增的函数.

    那么我们可以这样做.

    首先令左界l=0,右界r=x,然后检测mid=(l+r)/2(取下整)是否等于x,如果等于,mid即解,

    否则看mid*mid是否大于x,如果大于x,则令r=mid,否则令l=mid,重复多次则可以缩小解的范围.

    比如对于数字1296,其平方根为36.

    l=0,r=1296,mid=(0+1296)/2=648,mid*mid>1296则令r=mid=648

    l=0,r=648,mid=(0+648)/2=324,324*324>1296 r=mid=324

    l=0,r=324,mid=(0+324)/2=162,r=mid=162

    l=0,r=162,mid=81 r=mid=81

    l=0,r=81 mid=(0+81)/2=40.5,取下整mid=40,40*40=1600>1296则r=mid=40

    l=0,r=40 mid=(0+40)/2=20,20*20=400