4 ms·
Interesting, it appears I've encountered an impossible combination of numbers: [2, 5, 1, 3] The only possible move is to add 1 and 3. Can't ever split a 2 as t
by b3orn 2y ago
Interesting, it appears I've encountered an impossible combination of numbers: [2, 5, 1, 3]
The only possible move is to add 1 and 3. Can't ever split a 2 as that would result in [1, 1], can't split the 5 because that would be [4, 1] or [3, 2], can't split the 3, as that would be [2, 1] or [1, 2], can't add the 5 to anything as that would be larger than 5.
- deleted 2y ago[deleted]
- kleiba 2y agoCouldn't you split 3 into [4,-1] ?
- b3orn 2y agoNone of the implementations support negative numbers, but the rules say integer which includes negative numbers, so that should be a legal move.
- Tao3300 2y agoNegative numbers would break the game by making the number of possible splits infinite. E.g. 1 could split into [-2, 3], [-3, 4], [-4, 5], etc. It also violates Rule 1 because one of the splits is larger than the original number.
- basil-rash 2y agoRules say you can’t ever produce a number greater than the original largest number, so the possibilities will always be finite. (fixed number of ways to make a list of distinct integers that sum to N such that all values are <=M).
- kleiba 2y agoYou're right in the first sentence, but you're second sentence if we're talking about splitting the largest original number itself that way.
- fuglede_ 2y agoThey also say that a given integer should be split into two smaller integers.
- deleted 2y ago[deleted]
- plg94 2y agoI was given [1,2] in the second run. Even easier to see it's impossible.
- sour-taste 2y agoYeah the generation is very simple, 2-4 random numbers between 1 and 9 inclusive. Definitely gives impossible puzzles sometimes (because I don't know a general algorithm for generating possible ones only).
- hnfong 2y agoIf you only have numbers up to 9 an exhaustive search shouldn't be too bad (should be ~9! states if you memoize), you could implement a solver in Javascript and see whether a solution can be found before you give it to the user.