sgu 111 Very simple problem 高精开平方
2014-01-19 22:53
344 查看
给一个不超过10^1000的数n,求最大的数k使得k^2<=n。这题本来是要手算开平方的..但是高精乘法+二分也能做..c++的话估计要压位了吧,要么可能超时..java就直接写吧...
import java.io.*;
import java.util.*;
import java.math.*;
public class aaa {
public static void main(String[] args) {
Scanner cin= new Scanner(new BufferedInputStream(System.in));
String s = null;
s=cin.next();
int len=s.length();
BigInteger st=BigInteger.valueOf(0);
for (int i=0; i<len; i++)
{
st=st.multiply(BigInteger.valueOf(10));
st=st.add(BigInteger.valueOf(s.charAt(i)-'0'));
}
// System.out.println(st);
if (st.compareTo(BigInteger.valueOf(1))==0)
{
System.out.println(st);
return;
}
BigInteger l=BigInteger.valueOf(1);
BigInteger r=st;
BigInteger m,tp;
while(l.compareTo(r)==-1)
{
m=l.add(r).divide(BigInteger.valueOf(2));
if (m.multiply(m).compareTo(st)==1)
{
r=m;
}
else l=m.add(BigInteger.valueOf(1));
}
System.out.println(l.subtract(BigInteger.valueOf(1)));
}
}
import java.io.*;
import java.util.*;
import java.math.*;
public class aaa {
public static void main(String[] args) {
Scanner cin= new Scanner(new BufferedInputStream(System.in));
String s = null;
s=cin.next();
int len=s.length();
BigInteger st=BigInteger.valueOf(0);
for (int i=0; i<len; i++)
{
st=st.multiply(BigInteger.valueOf(10));
st=st.add(BigInteger.valueOf(s.charAt(i)-'0'));
}
// System.out.println(st);
if (st.compareTo(BigInteger.valueOf(1))==0)
{
System.out.println(st);
return;
}
BigInteger l=BigInteger.valueOf(1);
BigInteger r=st;
BigInteger m,tp;
while(l.compareTo(r)==-1)
{
m=l.add(r).divide(BigInteger.valueOf(2));
if (m.multiply(m).compareTo(st)==1)
{
r=m;
}
else l=m.add(BigInteger.valueOf(1));
}
System.out.println(l.subtract(BigInteger.valueOf(1)));
}
}
相关文章推荐
- android 转屏时的数据保存方法
- UIButton---iOS
- UIButton---iOS
- 网站优化策略
- 广州传智播客PHP培训基础就业班都学习哪些课程
- 多DataTable合并为一个DataTable
- Android的Message机制
- linux下程序运行时间的获取方法
- 内容页响应母版页控件的事件(内容页共享母版页的某个控件事件)(用户控件增加一个委托)
- 树莓派-上手体验
- ASI
- Web网站数据”实时”更新设计
- ASI
- 主引导扇区(Master Boot Record:MBR)
- 编写一个程序,它读取一个文件以判断其中的字节数,然后使用0覆盖所有的字节
- 对想进入Unity开发新人的一些建议
- java.io.EOFException
- mysql常用优化参数
- icon去除高亮
- icon去除高亮