首页 > 其他分享 >大数相加

大数相加

时间:2023-10-12 21:00:34浏览次数:31  
标签:String 大数 sum length carry new 相加

介绍:输入两个数字,输出它们相加之后的结果。
约定:输入数据共两行。第一行为一个整数a,第二行为一个整数b。输出数据共一行一个数。为a和b相加之后的结果。
请尝试使用小学学过的竖式加法进行计算。将输入数据按照字符串输入后拆成一个一个的数字,然后逐位相加并求进位。
输入样例
127450750347603915789832750917694387195834106
231099480231850489102357234823178312
输出样例
127450750578703396021683240020051622019012418


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 读入两个大整数
        String a = scanner.nextLine();
        String b = scanner.nextLine();
        scanner.close();
        // 逆序处理,便于从低位开始相加
        a = new StringBuilder(a).reverse().toString();
        b = new StringBuilder(b).reverse().toString();
        // 确保a的长度不小于b的长度
        if (a.length() < b.length()) {
            String temp = a;
            a = b;
            b = temp;
        }
        String result = "";
        int carry = 0; // 进位标记
        // 逐位相加
        for (int i = 0; i < a.length(); i++) {
            int sum = carry;
            sum += i < a.length() ? a.charAt(i) - '0' : 0;
            sum += i < b.length() ? b.charAt(i) - '0' : 0;
            result += (char)((sum % 10) + '0'); // 取余数作为当前位的结果
            carry = sum / 10; // 取整作为进位
        }
        // 如果最后还有进位,需要将其加入结果中
        if (carry != 0) {
            result += (char)(carry + '0');
        }
        // 逆序输出结果
        System.out.println(new StringBuilder(result).reverse().toString());
    }
}

标签:String,大数,sum,length,carry,new,相加
From: https://www.cnblogs.com/aminor/p/17760543.html

相关文章

  • 大数据、数据挖掘、机器学习、数据分析等专业的数据源网站——案例数据下载
    现在的大学计算机开设了下面的几个方向:大数据、数据挖掘、机器学习、数据分析 但是,上面的   ================================= 数据分析方向推荐入门书: ......
  • 【虹科干货】Redis Enterprise 自动分层技术:大数据集高性能解决方案
    越来越多的应用程序依赖于庞大的数据集合,而这些应用程序必须快速响应。借助自动分层,RedisEnterprise7.2帮助开发人员轻松创建超快的应用程序。何乐而不为?Redis将数据存储在内存中,因此应用程序能以最快的速度检索和处理数据。然而,随着应用程序需要处理的数据越多,存储数据集所需的......
  • .NET 数据库大数据操作方案(插入、更新、删除、查询 、插入或更新)
    1、功能介绍 海量数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API操作数据库达到极限性能,当然你如果不用sqlsugar了解一下原理也可以使用其他ORM实现 BulkCopyBulkCopy是一种用于高效批量......
  • 【大数据】HIVE大全
    HIVE内部表与外部表的区别#HIVE储存数据位置[hadoop@test1hive]$hadoopfs-ls/user/hive/warehouse/testhive.db/info/Found1items-rw-r--r--3hadoopsupergroup.../user/hive/warehouse/testhive.db/info/000000_0#内部表-创建:createtable.........
  • 判断两个数a,b,输出较大数的平方值。所谓平方值就是两个相同的数相乘的积。
    平方值 描述 判断两个数a,b,输出较大数的平方值。所谓平方值就是两个相同的数相乘的积。 输入 两个数a和b 输出 输出较大数的平方值。 输入样例1 12输出样例14a,c=map(int,input().split())print(max(a,c)**2)  计算邮费 ......
  • 数据可视化:将大数据转化为见解
    在今天的数字时代,大数据已经成为企业和组织中不可或缺的一部分。然而,大数据本身对于普通人来说可能过于庞大和复杂,难以理解和分析。在这种情况下,数据可视化成为一种强大的工具,可以将大数据转化为易于理解的见解。本文将介绍数据可视化的重要性,并提供一些用于数据可视化的示例代码,帮......
  • 大数据隐私与安全:应对挑战的最佳实践
    在今天的数字时代,大数据已经成为企业和组织中不可或缺的一部分。然而,随着大数据的应用范围不断扩大,关于数据隐私和安全的担忧也在不断增加。本文将讨论大数据隐私和安全的挑战,并提供一些应对这些挑战的最佳实践,同时附带一些示例代码来帮助读者更好地理解如何实施这些实践。加强数据......
  • 淘宝大数据揭秘:购物狂欢节背后的秘密
    淘宝详情接口是淘宝开放平台提供的一种API接口,主要用于获取淘宝商品详情信息。通过该接口,开发者可以在自己的网站或应用程序中快速获取淘宝商品的详细信息,包括价格、图片、商品描述等。要使用淘宝详情接口,首先需要在淘宝开放平台上申请并获得相应的API密钥。然后,使用合适的方式进行......
  • 【大数据】MapReduce与YARN 介绍与配置
    MapReduce架构MapReduce是一种分布式计算模型,用于处理大规模数据集。它将数据分成小块,分配给集群中的节点进行处理。Map阶段处理数据并生成键值对,Shuffle阶段将相同键的值对传输到同一节点进行排序和分组,Reduce阶段对每组键值对执行操作并生成结果。整个过程由Master节点协......
  • 【大数据】HIVE部署(文档版本)
    Mysql安装配置远程登录#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm#yum安装Mysqlyum-yinstallmysql-community-server#启动Mysql设置......