大数开方(Java版)
来源:互联网 发布:js正则匹配手机号码 编辑:程序博客网 时间:2024/05/02 01:48
题目:大数开方
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大数乘方,开方
- 大数开方(C++版)
- 开方数_ny_773(大数).java
- 大数开方
- 大数开方
- 大数开方
- 大数开方,大数相乘
- ACdream 1669 数一的偶像(JAVA大数开方)
- 大数 开方 GMP mpz_sqrt
- SGU111 大数开方 Evolution
- NYOJ773 开方数 【大数】
- 算法--大数开方
- 大数快速开方
- 大数相乘、开方
- java 开方
- Java大数模板——加法、减法、乘法、除法、开方、求余
- SGU111 Very simple problem(大数开方)
- 关于Debug和Release之本质区别的讨论
- Thinking in C++: Type-safe linkage
- 趣事儿~?、血淋淋的囧~~~
- linux中断处理体系结构
- LeetCode-Integer to Roman
- 大数开方(Java版)
- 开通了
- 可惜了,没有人可以代替你自己的思考
- 指针与数组(数组名)---浅析
- 如何使用CppUnit进行单元测试
- hdu 1166 敌兵布阵(修改点)
- HDU 动态规划(46道题目)
- C++拷贝构造函数(深拷贝,浅拷贝)
- ios开发之获取应用程序列表