Submit solution
Points:
12
Time limit:
2.5s
Memory limit:
64M
Problem type
Allowed languages
ALGOL 68, Assembly, Brain****, C, C++, COBOL, Forth, Fortran, Java, Lua, Text, Turing
. In fact, he will give problems involving addition of -digit numbers as punishment. However, is once again on top — he has promised you a "reward" if you help him again. You suspect it might not be anything more than 12 points, but you still have your hopes up...
's teacher realized that he was cheating, and was using the code you wrote to save his marks. So, the math teacher decided that he will mess up your program by using numbers larger thanInput Specification
The first line will contain an integer , the number of addition problems needs to do. The next lines will each contain two space-separated integers with up to digits in decimal, the two integers needs to add. will never be greater than .
Warning: the test cases are a lot harder than the sample.
Output Specification
Output lines, the solutions to the addition problems in order.
Sample Input
4
1 1
226077045628835347875 -572260769919042128358
-803119834418378628674 236083700054616110639
-435599336891761067707 451767479989987922363
Sample Output
2
-346183724290206780483
-567036134363762518035
16168143098226854656
Comments
No Big integer = pain
The goal is to implement your own version of the biginteger class.
I'm pretty sure half the top solutions are just bigint classes copied and pasted from other sources. Like, if it was written just for this problem, why would they implement
abs
, and never use it? Or multiply?This comment is hidden due to too much negative feedback. Show it anyway.
String ans = "This is " + "slow";
Why is BF not an allowed language for this question?
The only practical way to solve even the original "A Plus B" in BF would require you to implement your own algorithm for addition of arbitrary-length integers.
BF has been enabled.
This comment is hidden due to too much negative feedback. Show it anyway.
BigInteger is disabled
Not sure why I'm WA on two cases. On case #2, the input is
7808787 -2084742
, and it WA because it's outputting 5403285 (wrong), but when I run the same input locally, it outputs 5724045 (right). I have no idea why this is happening. I thought it was because some variables weren't being reset, but all of the variables used in calculations are local. Any ideas?This comment is hidden due to too much negative feedback. Show it anyway.
Unfortunately, using a double is not sufficient enough (nor accurate enough) to store a digit number. Try finding another way you can store the digits (it may involve creating your own data structure).
cough cough string cough cough
Can someone tell me what I'm doing wrong? Or at least give a case to test?
try
Can the two integers have leading zeros?
No
This comment is hidden due to too much negative feedback. Show it anyway.
The difficulty of this in Python is the same as the regular aplusb (i.e. not worth 12 points).
This comment is hidden due to too much negative feedback. Show it anyway.
Because copy/pasting code from Java's
BigInteger
implementation was never intended as a correct solution to this problem.BigInteger
is explicitly disallowed, so why would copypasta of it be any different?Java is now allowed for this problem, though use of the
BigInteger
andBigDecimal
classes is disallowed.Thanks!