But I used it as a component in Roboalchemist! so I proposed it first. It turns out converting numbers to unary first leads to very simple and natural (if long-winded) processing devices ;)
Pointless Boy, ah I see that is a good challenge (I was wondering why it wasn't a built in one)
RandomPie:
Wow even though I know the algorithm used I already can't make any sense out of that. Have been tweaking it though, got it down to 34 ?lvl=30&code=c10:4f3;y10:5f3;c10:6f2;r10:8f2;c10:9f3;r11:3f2;c11:4f0;y11:5f0;q11:6f6;c11:7f3;p11:8f7;q11:9f7;p12:3f7;q12:4f5;c12:5f1;i12:6f3;y12:7f1;b12:8f0;g12:9f2;b13:3f0;g13:4f0;c13:5f0;p13:6f4;c13:7f0;g13:8f1;q13:9f5;y12:2f3;q10:11f4;q11:11f2;c12:12f3;q10:10f3;q11:12f3;g11:10f3;y10:12f1;
Minor tweaks may get 1 or 2 more less, but there still might be some big ways to save on the part that loops through which thing to convert to unary.
Edit: oops was looking at wrong tab (it was someones solution to another level, no wonder it didn't make any sense)
"Input always alternates" means only that you may assume that the input does not contain any color twice in a row, although it is still allowed to begin and end with the same color.
Also, apparently the game lets you increase the board dimensions 2 past the usual maximum on custom levels (to 15x15) but I wonder if that's enough for this:
I doubt I'm ever going to try to make it, but I'm fairly confident it's possible. Perhaps you should lead people on a logical progression of difficulty by starting them out with:
Of course, there's a factorial algorithm by Moessner that uses only additions, so maybe a multiplication device isn't needed ...
Anyway, here are some new challenges:
Your other challenge is misstated, it should be "accept if A mod B = 0". "Accept if A = 0 Mod B" should mean you accept only if A is equal to 0. I hope this does not come off as pedantic, because "X % Y == 0" and "X == 0 % Y" are very different conditions.
How fleeting are all human passions compared with the massive continuity of ducks.
A combination of things are in play, here. I used shorthand for "A ≡ 0 (mod B)" and you assumed I meant MOD to be an operator. Neither of us is wrong, really.
Simplest would have been to say A is a multiple of B, but I ran out of textspace and I didn't want to change the Manufactoria author's preamble, to maintain flavor. Anyway, naturally following Robowitness! comes:
Here is my solution to Robomecha! before I knew about bridges nor about flipping pieces, lol.
My go at Robo-Tumbler! because nobody else posted theirs before. It's probably not optimal.
It inverts the first number then subtracts one from each number until the (second number) is zero, then inverts the first one again. it also has to do sign extension so that the first one cannot be zero. The xkcd people didn't count this solution as valid because it doesn't work when both numbers are the empty string (though this is not considered valid input by the malevolence engine, as it passes that). It could be modified to handle that properly and still be much shorter than their solution though.