杭电acm1013 Digital Roots 数字根 Java解法 高精度

简介: 杭电acm1013 Digital Roots 数字根 Java解法 高精度

Problem - 1013 (hdu.edu.cn)

高精度算术模拟

开long没过想到开bI 开bl一次过

import java.math.BigInteger;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        BigInteger i;
        while (!(i = sc.nextBigInteger()).equals(BigInteger.ZERO)) {
            BigInteger sum = BigInteger.ZERO;
            while (i.compareTo(BigInteger.ZERO) > 0) {
                sum = sum.add(i.mod(BigInteger.TEN));
                i = i.divide(BigInteger.TEN);
            }
            while (sum.compareTo(BigInteger.TEN) >= 0) {
                i = sum;
                sum = BigInteger.ZERO;
                while (i.compareTo(BigInteger.ZERO) > 0) {
                    sum = sum.add(i.mod(BigInteger.TEN));
                    i = i.divide(BigInteger.TEN);
                }
            }
            System.out.println(sum);
        }
    }
}
目录
相关文章
|
Java 编译器 程序员
Java面试高频题:用最优解法算出2乘以8!
本文探讨了面试中一个看似简单的数学问题——如何高效计算2×8。从直接使用乘法、位运算优化、编译器优化、加法实现到大整数场景下的处理,全面解析了不同方法的原理和适用场景,帮助读者深入理解计算效率优化的重要性。
312 6
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
229 1
|
存储 算法 Java
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
264 1
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
224 6
|
算法 Java
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
233 0
|
存储 算法 Java
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
226 0
八皇后问题92种解法(java)
八皇后问题92种解法(java)
152 0
|
Java
杭电 OJ 1010-1019 Java解法(未更新完毕)
杭电 OJ 1010-1019 Java解法(未更新完毕)
184 1
|
Java
杭电acm1201 18岁生日 Java解法 时间类
杭电acm1201 18岁生日 Java解法 时间类
140 0
|
Java 开发框架 API
Java中高精度问题的bigdecimal解决方式
最近有空写了点老的J2EE的代码,发现有一个十分有意思的问题,当用Hibernate从数据库里把浮点数读取出来的时候做一些比如累加的工作,例如 summary 或者递减之类的,就会发现在最后的结果中会出现些许问题。 如:3.41+5.2+56.2+23.3+... (这类两位小数的价钱),结果会出现103.00000000000001这种结果,但是人算的话反而会得出正常的数据。
2099 0