I solved the second one in a couple minutes in my head with value substitutions. Unless you were to do with with a pen and paper, it'd be pretty difficult to pick up on the closed loops.
Generating the following list took less than 30 secs when I looked it over, so obviously the example of it taking a long time to solve is a bit contrived. What threw me off a bit at first was that the number 4 was not used at all. I spent a little time trying to figure out why that was excluded before moving on.
I too solved it in 1-2 minutes just by looking at the patterns and deducing from the combinations, especially the ones with four of a kind. The loops never occurred to me until I read the "real" solution.
IMO the "fuck_you" of the currently most popular comment is what most people who are skimming HN during their morning coffee are bound to think, but most programmers and anyone used to deducing patterns would probably be able to figure the puzzle out in a relatively short amount of time. Not an hour. Sheesh!
Similar way here, given 0000, 1111, 2222, 3333, 5555, 6666, 7777, 9999, we know the value of each number except for 4 and 8, disregard 4 (not in any value), sub those values in to any slot with an 8, and you get the answer.
If the alternative to overthinking would be staring at this looking for a pattern until you realize it is the number of loops, then that is not something I am interested in :)
I came to the same conclusion alas with some different thought process behind it - all prime numbers are actually 0, the 0 we increase to 1. Then what's left dividable by 3 a 1, and what's left dividable by 2 a 2...
I guess that might be some sort of overcomplicating it, but I was quite happy until I scrolled to the bottom
Generating the following list took less than 30 secs when I looked it over, so obviously the example of it taking a long time to solve is a bit contrived. What threw me off a bit at first was that the number 4 was not used at all. I spent a little time trying to figure out why that was excluded before moving on.
0 = 1 1 = 0 2 = 0 3 = 0 5 = 0 6 = 1 7 = 0 8 = 2 9 = 1