题目描述
实现函数 int sqrt(int x).
计算并返回x的平方根(向下取整)
示例1
输入
2
返回值
1
import java.util.*;
public class Solution {
/**
* 根据平方数的性质——连续n个奇数相加的结果一定是平方数。
* 如:9=1+3+5;
* 16=1+3+5+7;
* 所以,不断的进行奇数相加,并判断x大小即可 有几个奇数 结果就是几 但是当==0的时候 会多循环一次 所以结果要-1
*/
public int sqrt (int x) {
//奇数的个数初始为0
int count = 0;
//奇数初始为1
int startVal = 1;
while(x>=0){
x = x-startVal;
count++;
startVal = startVal + 2;
}
return count-1;
}
}
版权声明:本文为luzhensmart原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。