Sqrt(x)
2015-10-18 18:07
471 查看
实现取平方根的方法
输入int型,返回int型
使用二分法查找,慢慢逼近结果;注意防止溢出,直接用乘法的结果去比较
输入int型,返回int型
使用二分法查找,慢慢逼近结果;注意防止溢出,直接用乘法的结果去比较
package com.rust.cal; public class Sqrtx { /** * 二分法查找 * @param x-目标值 * @return x的int型平方根 */ public static int mySqrt(int x) { double diff = 0.000001f; double start = 0; double end = x; double mid; while(end - start > diff){ mid = (end + start)/2; if (mid * mid == x) { return (int) mid; } if (mid*mid > x) { end = mid; } else{ start = mid; } } return (int) end; } public static void main(String args[]){ System.out.println(mySqrt(2147483647)); System.out.println(mySqrt(1)); System.out.println(mySqrt(0)); } }
相关文章推荐
- 信息安全程序设计基础第五周学习总结
- linux-ht开启
- Android开发规范
- HDU——2087 剪花布条
- eclipse -- 工作中经常用到的快捷键(不断完善)
- ubuntu无法登陆问题收集
- 境外自然人不得以实际出资为由主张转让其在国内公司中享有的股权
- 九度OJ 1043:Day of Week(星期几) (日期计算)
- 九度OJ 1043:Day of Week(星期几) (日期计算)
- CGI程序里调用system、popen运行命令需要root权限---boa配置需要注意的问题
- Android按两次返回键退出程序
- 微信企业号api调用频率
- BroadcastReceiver
- JVM调优总结
- [转]Intent和PendingIntent的区别
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题解决方案参考
- Android Studio 真正国内SDK在线更新说明
- Android Studio 真正国内SDK在线更新说明
- 【图论】spoj two famous companies
- 九度OJ 1042:Coincidence(公共子序列) (DP)