zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    cafebabe go入门练习003:常量与iota
    go入门练习002:查找重复的行
    go入门练习001:打印命令行输入
    go入门-002-程序结构
    [ES6深度解析]10:Generators 续集
    [JavaScript初级面试]17. 运行环境
    [JavaScript初级面试]16. 运行环境
    [JavaScript初级面试]10. WEB API
    [JavaScript初级面试]8. WEB API
    [JavaScript初级面试]7. WEB API
  • 原文地址:https://www.cnblogs.com/mmdz/p/15608893.html
Copyright © 2011-2022 走看看