牛客题霸 NC10 大数乘法
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC10 大数乘法相关的知识,希望对你有一定的参考价值。
https://www.nowcoder.com/practice/c4c488d4d40d4c4e9824c3650f7d5571
解决方案
JAVA
public String solve (String s, String t) {
// write code here
BigInteger bi1 = new BigInteger(s) ; // 声明BigInteger对象
BigInteger bi2 = new BigInteger(t) ; // 声明BigInteger对象
BigInteger bi3 = bi1.add(bi2);
return bi3.toString();
}
Go
func solve(s string, t string) string {
// write code here
ns := make([]int, len(s))
nt := make([]int, len(t))
for i := 0; i < len(s); i++ {
ns[i] = int(s[i] - '0')
}
for i := 0; i < len(t); i++ {
nt[i] = int(t[i] - '0')
}
raws := make([]int, len(s)+len(t))
for i := len(s) - 1; i >= 0; i-- {
for j := len(t) - 1; j >= 0; j-- {
raws[i+j+1] += ns[i] * nt[j]
}
}
carry := 0
rret := make([]rune, len(raws))
for i := len(raws) - 1; i >= 0; i-- {
v := (raws[i] + carry) % 10
carry = (raws[i] + carry) / 10
rret[i] = rune(v + '0')
}
if rret[0] == '0' {
return string(rret[1:])
}
return string(rret)
}
参考文章
以上是关于牛客题霸 NC10 大数乘法的主要内容,如果未能解决你的问题,请参考以下文章