Problem 564. How to subtract?
± ± ± ± ± ± ± ± ± ± ±
- Imagine you need to subtract one number from another using MATLAB.
- You will not be using eval for this task.
- Given two ASCII strings representing two integers X and Y.
- Each of them has only 12 or less ASCII characters.
- Each of them represents signed integers, such as '+2345'
- Please output the result of (X-Y) in a similar style.
Solution Stats
Problem Comments
-
8 Comments
good
function z = mysub(x,y)
z = num2str( str2num(x) - str2num(y) );
end
why this is not working for this code?
Nice
Hi. My code only prints out '-' for a negative number but not '+' for a positive. Can anyone help? function Z = mysub(X,Y); W = (str2num(X))-(str2num(Y)); Z = num2str(W); end
actually each of them has 14 characters or less...15 if we count the signs.
Mark Sanderson, if W > 0 Z = ['+' ...]
how about solving this problem but not using any conversion functions like num2str , str2num , str2double ...
This problem needed much larger test cases. At least beyond intmax('uint64') range. Also negative inputs were not implemented at all.
Solution Comments
Show commentsProblem Recent Solvers1509
Suggested Problems
-
Project Euler: Problem 4, Palindromic numbers
1027 Solvers
-
Project Euler: Problem 6, Natural numbers, squares and sums.
2122 Solvers
-
773 Solvers
-
Natural numbers in string form
1393 Solvers
-
352 Solvers
More from this Author100
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!