杭电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);
        }
    }
}
目录
打赏
0
0
0
0
38
分享
相关文章
Java面试高频题:用最优解法算出2乘以8!
本文探讨了面试中一个看似简单的数学问题——如何高效计算2×8。从直接使用乘法、位运算优化、编译器优化、加法实现到大整数场景下的处理,全面解析了不同方法的原理和适用场景,帮助读者深入理解计算效率优化的重要性。
75 6
|
8月前
|
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
100 6
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
91 1
LeetCode经典算法题:预测赢家+香槟塔java解法
LeetCode经典算法题:预测赢家+香槟塔java解法
110 1
|
8月前
|
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
94 0
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
80 0
|
10月前
|
杭电 OJ 1010-1019 Java解法(未更新完毕)
杭电 OJ 1010-1019 Java解法(未更新完毕)
44 1
|
10月前
|
八皇后问题92种解法(java)
八皇后问题92种解法(java)
|
10月前
|
杭电acm1201 18岁生日 Java解法 时间类
杭电acm1201 18岁生日 Java解法 时间类
47 0
|
2月前
|
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
198 60
【Java并发】【线程池】带你从0-1入门线程池