用java做还是不难的。。。
import java.util.Scanner;
import java.math.BigInteger;
import java.math.BigDecimal;
public class Main
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
String a, b;
char s[] = new char[205];
BigInteger ans, aa, bb;
int len;
while(scanner.hasNext()) {
a = scanner.next();
b = scanner.next();
ans = BigInteger.ZERO;
aa = BigInteger.ZERO;
bb = BigInteger.ZERO;
len = a.length();
s = a.toCharArray();
for(int i = 0; i < len; i++) {
aa = aa.multiply(BigInteger.valueOf(26));
aa = aa.add(BigInteger.valueOf(s[i] - 'A'));
}
len = b.length();
s = b.toCharArray();
for(int i = 0; i < len; i++) {
bb = bb.multiply(BigInteger.valueOf(26));
bb = bb.add(BigInteger.valueOf(s[i] - 'A'));
}
ans = aa.add(bb);
s = new char[205];
len = 0;
while(ans.mod(BigInteger.valueOf(26)) == BigInteger.ZERO && ans.compareTo(BigInteger.ZERO) > 0) {
ans = ans.divide(BigInteger.valueOf(26));
s[len++] = 'A';
}
while(ans.compareTo(BigInteger.ZERO) > 0) {
aa = ans.mod(BigInteger.valueOf(26));
ans = ans.divide(BigInteger.valueOf(26));
s[len++] = (char)(aa.intValue() + 'A');
}
for(int i = 0; i < len/2; i++) {
char tmp = s[i];
s[i] = s[len-1-i];
s[len-1-i] = tmp;
}
if(len != 0) for(int i = 0; i < len; i++) System.out.print(s[i]);
else System.out.println('A');
System.out.println();
}
}
}
本文详细介绍了如何使用Java编程语言实现复杂字符串的转换过程,包括字符串到整数的映射,通过数学运算进行字符串的加法操作,并利用BigInteger进行大整数的处理。文章深入探讨了字符到整数的映射机制,以及如何通过循环和条件判断来完成字符串的加法运算,最终将结果转换为特定格式输出。
480

被折叠的 条评论
为什么被折叠?



