Next in Eternity’s Thread:
I hadn’t got the 2 inputs true one after ~19mins so have moved to trying 0, 1, 2, 3. Maybe I’ll learn something that helps with 2 inputs:
Alright, so I have solution for them all!
I initially tried a way to check for 2 true inputs. I was only able to get 7/8 outputs right. I then tried a way for checking for only one true input (English XOR), and I was also only able to get 7/8 outputs right(by using XOR).
I then moved on to checking zero true inputs and got that easy: nor(x, y, z)
I then moved on to checking three true inputs and got that easy too: and(x, y, z)
Then I realised that my results for checking 0 and 3 inputs, when xor’d with my attempts for 2 and 1 inputs respectively, allowed me to flip the remaining bit so my 2 and 1 input were correct for all input combinations!
so checking for only 2 true inputs: xor(eq(z xor(x, y)), nor(x, y, z)
and checking for only one true input (English XOR): xor(and(x, y, z), xor(x, y, z))