• Java_大数加法


    Java_大数加法

    题目: 以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。

    示例:

     输入:
         "1","99"
     返回值:
         "100"
     说明:
         1+99=100

    思路:

    1. 第一种方法:强制类型转换(面试中不要直接使用,题目的考点在于模拟 加法的运算过程 )

    2. 第二种方法:

      1. 获取2个字符串长度,进行遍历

      2. 对应个、十、百... 位数进行取值,再运算,取余,对余数追加

     

    代码:

        /**
         * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
         * 计算两个数之和
         *
         * @param s string字符串 表示第一个整数
         * @param t string字符串 表示第二个整数
         * @return string字符串
         */
        public static String solve(String s, String t) {
            // write code here
            Long m = Long.valueOf(s);
            Long n = Long.valueOf(t);
            Long a = m + n;
            return a.toString();
        }
    
        /**
         * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
         * 计算两个数之和
         *
         * @param s string字符串 表示第一个整数
         * @param t string字符串 表示第二个整数
         * @return string字符串
         */
        public static String solve1 (String s, String t) {
            // write code here
            StringBuilder sb = new StringBuilder();
            int sl = s.length() - 1;
            int tl = t.length() - 1;
            int enter = 0;
            int remainder = 0;
            while (sl >= 0 || tl >= 0 || enter > 0) {
                int snum = sl >= 0 ? s.charAt(sl) - '0' : 0; // int 和 char可以直接运算
                int tnum = tl >= 0 ? t.charAt(tl) - '0' : 0;
                int r = snum + tnum + enter;
                enter = r / 10;
                remainder = r % 10;
                sb.append(remainder);
                sl--;
                tl--;
            }
            return sb.reverse().toString();
        }
  • 相关阅读:
    CF1394A Boboniu Chats with Du 题解
    P3377 【模板】左偏树(可并堆)题解
    P2152 [SDOI2009]SuperGCD 题解
    在其他模块中调用代码
    教程:创建Go模块
    Go入门
    反悔贪心
    codeforces 1569 E. Playoff Restoration (meet-in-the-middle)
    codeforces 1036 F. Relatively Prime Powers (容斥+精度处理+大数边界处理)
    icpc沈阳2020 H. The Boomsday Project (dp+二分)
  • 原文地址:https://www.cnblogs.com/mmdz/p/15608893.html
Copyright © 2020-2023  润新知