快速开方

 

在某些情况下有误差

public static int Sqrt(int a)
{
switch (a)
{
case 0:
return 0;

case 1:
case 2:
case 3:
return 1;

default:
int n = a / 2;
int m = (n + a / n) / 2;
while (n > m)
{
n = m;
m = (n + a / n) / 2;
}
return m;
}
}

posted @ 2014-10-22 11:46  dx2019  阅读(190)  评论(0编辑  收藏  举报