题解 | #大数加法#
求平方根
http://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c
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; } }
刷刷题 文章被收录于专栏
刷刷题 活跃活跃脑细胞