编码难题一般要求给出结果mod(10 ^ 9 + 7)。请参阅说明here。
假设我有一个非常大的数字;说2个大字符串的数字字符。我需要添加它们并将结果处理为mod(10 ^ 9 + 7)。我怎样才能做到这一点。
e.g。如果它们是小数字代码将看起来像
Integer a = Integer.parseInt("123456474575756568568786786786786783453453");
Integer b = Integer.parseInt("456534543654564567567567567567564564456");
Integer result = (a+b)%(10^9+7);
System.out.println("result"+result);
如何对非常大的数字做同样的事情?
df = pd.DataFrame({'price':[10,10,30,15], 'type':['abc','def','abc','def']})
price type
0 10 abc
1 10 def
2 30 abc
3 15 def
在这种情况下,需要使用Integer以外的东西,并且应该执行“add”,“modulo”操作。
在这种情况下,我无法轻易使用BidInteger,BigDecimal。请建议。
答案 0 :(得分:2)
BigInteger并不是那么糟糕,它完全符合您的需求:
BigInteger a = new BigInteger("123456474575756568568786786786786783453453");
BigInteger b = new BigInteger("456534543654564567567567567567564564456");
BigInteger result = a.add(b).mod(BigInteger.TEN.pow(9).add(BigInteger.valueOf(7)));
System.out.println("result: " + result);
输出:
结果:560775910