CSU 1211: 大整数开平方练习(二分)
来源:互联网 发布:上海电气待遇 知乎 编辑:程序博客网 时间:2024/05/23 01:59
CSU 1211: 大整数开平方练习 二分
Description
对大整数开平方,向下取整
Input
每行一个正整数,位数1 <= len <= 1000
Output
每行对应输出正整数的平方根。
Sample Input
3712345678987654321
Sample Output
6111111111
Hint
Source
CSGrandeur的数据结构习题思路:二分,极限过
import java.util.*;import java.math.*;public class Main{ public static void main(String args[]){ BigInteger i; Scanner input = new Scanner(System.in); while(input.hasNext()){ i = input.nextBigInteger(); BigInteger l = BigInteger.ZERO; BigInteger r = i; BigInteger mid; while(r.subtract(l).compareTo(BigInteger.ZERO) > 0){ mid = l.add(r.add(BigInteger.ONE)).divide(BigInteger.valueOf(2)); if(judge(mid,i) == 1) l = mid; else r = mid.subtract(BigInteger.ONE); } System.out.println(l); } } public static int judge(BigInteger x,BigInteger i){ if(x.multiply(x).compareTo(i) <= 0) return 1; else return 0; }}
阅读全文
2 7
- CSU 1211: 大整数开平方练习(二分)
- 整数开平方
- 整数快速开平方算法
- 整数快速开平方算法
- (湖南省第八届大学生计算机程序设计竞赛)平方根大搜索 (Java大小数+二分开平方)
- 【LeetCode】69. Sqrt(x) 二分查找实现开平方函数
- 【学校OJ】 二分答案+高精度 高精度开平方
- 支点(开平方误差分析)
- SQL 开平方
- 支点(开平方实践)
- SQL 开平方
- 开平方算法
- 开平方算法
- 求开平方
- 迭代法开平方
- java高精度开平方
- 如何开平方
- 开平方算法
- 15.2—细节实现题—Palindrome Number
- SQL学习
- 超越用户需求
- F
- css代码实现鼠标手型等样式
- CSU 1211: 大整数开平方练习(二分)
- leetcode 62. Unique Paths
- spring boot gradle 构建添加外部 jar
- 15.3—细节实现题—Insert Interval
- fastDFS集群理解+搭建笔记
- 功能模块的验收测试
- HDU 6069 Counting Divisors(素数筛法+枚举+技巧)——2017 Multi-University Training Contest
- 15.4—细节实现题—Merge Intervals
- C++可变参数函数