Problem 42323. With apologies to William Blake
Coder Coder, typing fast Sitting at your desk, aghast. What immortal MATLAB script will solve this problem, nice and quick?
You are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]
For example:
- If you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.
- If you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.
- If you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.
Good luck. May you become a poet, and not even know it.
Solution Stats
Problem Comments
-
4 Comments
Always difficult with James.
James is the master of deceptively difficult Cody problems.
Deceptively difficult indeed. Took me two wrong rabbit holes to even figure out what I was actually trying to do.
Of course, it would have helped a lot more if the test cases were better. 5 & 6 are the only useful ones till you realize 7 & 8 are practically giving you the answer.
Rather difficult.¡, but figured out
however, I would like to see some test case with a number starting with lots of 8s: 88888888882123, for example.
Solution Comments
Show commentsProblem Recent Solvers70
Suggested Problems
-
Given an unsigned integer x, find the largest y by rearranging the bits in x
1822 Solvers
-
213 Solvers
-
1405 Solvers
-
255 Solvers
-
6183 Solvers
More from this Author80
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!