36进制数由 0~9 , a~z 共 36 个字符组成,请你按照加法规则计算两个 36 进制数的和。 例如 1b+2b = 3m 数据范围:两个数的长度都满足 , 两个数中包含的字符仅包括 和
区块链毕设网qklbishe.com为您提供问题的解答
36进制数由 0~9 , a~z 共 36 个字符组成,请你按照加法规则计算两个 36 进制数的和。
例如 1b+2b = 3m
数据范围:两个数的长度都满足 , 两个数中包含的字符仅包括 和
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param A string字符串 * @param B string字符串 * @return string字符串 */ public String thirtysixAdd (String a, String b) { // write code here StringBuilder sb = new StringBuilder(); int i = a.length() - 1, j = b.length() - 1; int r = 0; while (i >= 0 && j >= 0) { int x = char2int(a.charAt(i--)) + char2int(b.charAt(j--)) + r; sb.append(int2char(x % 36)); r = x / 36; } while (i >= 0) { int x = char2int(a.charAt(i--)) + r; sb.append(int2char(x)); r = x / 36; } while (j >= 0) { int x = char2int(b.charAt(j--)) + r; sb.append(int2char(x)); r = x / 36; } if (r != 0) sb.append(int2char(r)); return sb.reverse().toString(); } private int char2int(char c) { if ('0' <= c && c <= '9') return c - '0'; return c - 'a' + 10; } private char int2char(int x) { if (0 <= x && x <= 9) return (char) ('0' + x); return (char) ((x - 10) + 'a'); } }
47:25
以上就是关于问题36进制数由 0~9 , a~z 共 36 个字符组成,请你按照加法规则计算两个 36 进制数的和。 例如 1b+2b = 3m
数据范围:两个数的长度都满足 , 两个数中包含的字符仅包括 和的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训