大数开方(Java版)
题目:大数开方
Java代码:适合被开方数不超过1000位的。
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);
int t=cin.nextInt();
BigInteger remain=BigInteger.ZERO;
BigInteger odd=BigInteger.ZERO;
BigInteger ans=BigInteger.ZERO;
for(int i=0;i<t;i++)
{
String s=cin.next();
remain=BigInteger.ZERO;
odd=BigInteger.ZERO;
ans=BigInteger.ZERO;
int group=0,k=0;
if(s.length()%2==1)
{
group=s.charAt(0)-'0';
k=-1;
}
else
{
group=(s.charAt(0)-'0')*10+s.charAt(1)-'0';
k=0;
}
for(int j=0;j<(s.length()+1)/2;j++)
{
if(j!=0)
group=(s.charAt(j*2+k)-'0')*10+s.charAt(j*2+k+1)-'0';
odd=BigInteger.valueOf(20).multiply(ans).add(BigInteger.ONE);
remain=BigInteger.valueOf(100).multiply(remain).add(BigInteger.valueOf(group));
int count=0;
while(remain.compareTo(odd)>=0)
{
count++;
remain=remain.subtract(odd);
odd=odd.add(BigInteger.valueOf(2));
}
ans=ans.multiply(BigInteger.TEN).add(BigInteger.valueOf(count));
}
System.out.println(ans);
if(i!=t-1) System.out.println();
}
}
}
大数开方(Java版)相关推荐
- java中大数开方_大数开方(Java版)
Java代码:适合被开方数不超过1000位的. import java.util.*; import java.math.*; public class Main { public static vo ...
- 大数开方(C++版)
大数开方模版: 题目:大数开方 #include <stdio.h> #include <string.h> #include <stdlib.h> #define ...
- 大数相乘 java_大数相乘——java版
之前面试的时候被问到两个很大很大的数相乘在java中怎么把它算出来,显然不能直接相乘,当时我只回答出来了用BigInteger,然而不是最好的答案.大数相乘的核心思想是将数字转化为字符串,然后逐位相乘 ...
- pollard_rho大数分解Java版
代码: import java.math.BigInteger; import java.security.SecureRandom;class PollardRho {private final s ...
- 超大数相乘的java代码,java版大数相乘
在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 用java搞了一个版本 这里说一下思路 将数字已字符串形式接收,转换成int[]整型数组,然后num1[],num2[]依次 ...
- JAVA应试技巧----大数开方
大数开方--牛顿迭代法: 如果一个数的位数为偶数个,那么这个数开方之后就有n/2位: 如果一个数的位数为奇数个,那么这个数开方之后就有n/2+1位: 我们以num=1000为例,位数为4,偶数,那么开 ...
- ACM-ICPC 2018 焦作赛区网络预赛_J_ Participate in E-sports_Java大数开方
传送门 题意:求n和 1+2+3+-.+(n-1) 这两个数字是不是完全平方数. 思路:大数开方,似乎是板子太弱了,在做第二个数字的时候T掉了,然后我就思考下满足(n-1)*n/2为完全平方数的数字并 ...
- hmcl离线登陆_最好用的Java版启动器HMCL
原标题:最好用的Java版启动器HMCL 推荐的启动器是什么了?就是 Hello Minecraft! Launcher 简称HMCL,这款启动器特色很多.一张图片简单说明!!! 支持离线登录代表了什 ...
- Twitter的分布式雪花算法 SnowFlake 每秒自增生成26个万个可排序的ID (Java版)
分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的. 有些时候我们希望能使用一种简单一 ...
最新文章
- Java各版本的重大改变
- 又拍云再放大招,CDN同时支持HTTP/2和SPDY/3.1协议
- 【技巧】如何让普通用户可以杀掉自己用户的会话
- linux安装PHP环境
- python使用手册-python 教程与手册(60IN1合集)
- WINCE 开机自动弹USB连接窗口问题(已解决)
- zabbix中mysql连不上的排错_zabbix 安装及简单排错
- RiPro小八子主题V1.5.5美化版+优惠码折扣+工单系统+任务系统
- php与硬件通过wifi对接,基于ESP8266的WiFi排插接入贝壳互联实现天猫精灵控制
- oracle外部结合,浅谈Oracle外部文件
- Xcode9.x变很卡
- php notice错误是什么意思,PHP中Notice错误常见解决方法
- iPhone蓝牙回控,iPhone手机互联,认证
- python寻峰,LeetCode-python 162.寻找峰值
- Linux 防火墙简介
- 求问ps如何导出单个切片及PS导出所有的切片图像
- SQL注入之二次注入
- 深拷贝deepClone
- 5-DOF机械臂课程设计(二)之视觉引导
- java和office二级证书用处_计算机二级证书有什么作用