Showing posts with label mathematically possible. Show all posts
Showing posts with label mathematically possible. Show all posts

Wednesday, 30 March 2011

The Virtual Sledgehammer

Good morning all,
In response to a challenge from Twitter user @7puzzle I was inspired to write a small PHP script that would generate all whole numbers created by a given function.  Here's the original challenge:

"Using 1 2 3 and + - x ÷ available, it IS  to make ALL target numbers 1-9. Is this statement TRUE or FALSE?" - @7puzzle

and here's the output of my routine:


1 = 1 - 1 + 1
1 = 1 - 2 + 2
1 = 1 - 3 + 3
1 = 1 * 1 * 1
1 = 1 * 1 / 1
1 = 1 * 2 - 1
1 = 1 * 2 / 2
1 = 1 * 3 - 2
1 = 1 * 3 / 3
1 = 1 / 1 * 1
1 = 1 / 1 / 1
1 = 1 / 2 * 2
1 = 1 / 3 * 3
1 = 1 + 1 - 1
1 = 1 + 2 - 2
1 = 1 + 3 - 3
1 = 2 - 1 * 1
1 = 2 - 1 / 1
1 = 2 - 2 / 2
1 = 2 - 2 + 1
1 = 2 - 3 / 3
1 = 2 - 3 + 2
1 = 2 * 1 - 1
1 = 2 * 1 / 2
1 = 2 * 2 - 3
1 = 2 / 1 - 1
1 = 2 / 1 / 2
1 = 2 / 2 * 1
1 = 2 / 2 / 1
1 = 2 + 1 - 2
1 = 2 + 2 - 3
1 = 3 - 1 - 1
1 = 3 - 1 * 2
1 = 3 - 2 * 1
1 = 3 - 2 / 1
1 = 3 - 3 + 1
1 = 3 * 1 - 2
1 = 3 * 1 / 3
1 = 3 / 1 - 2
1 = 3 / 1 / 3
1 = 3 / 3 * 1
1 = 3 / 3 / 1
1 = 3 + 1 - 3
2 = 1 - 1 + 2
2 = 1 - 2 + 3
2 = 1 * 1 * 2
2 = 1 * 1 + 1
2 = 1 * 2 * 1
2 = 1 * 2 / 1
2 = 1 * 3 - 1
2 = 1 / 1 * 2
2 = 1 / 1 + 1
2 = 1 + 1 * 1
2 = 1 + 1 / 1
2 = 1 + 2 - 1
2 = 1 + 2 / 2
2 = 1 + 3 - 2
2 = 1 + 3 / 3
2 = 2 - 1 + 1
2 = 2 - 2 + 2
2 = 2 - 3 + 3
2 = 2 * 1 * 1
2 = 2 * 1 / 1
2 = 2 * 2 - 2
2 = 2 * 2 / 2
2 = 2 * 3 / 3
2 = 2 / 1 * 1
2 = 2 / 1 / 1
2 = 2 / 2 * 2
2 = 2 / 2 + 1
2 = 2 / 3 * 3
2 = 2 + 1 - 1
2 = 2 + 2 - 2
2 = 2 + 3 - 3
2 = 3 - 1 * 1
2 = 3 - 1 / 1
2 = 3 - 2 / 2
2 = 3 - 2 + 1
2 = 3 - 3 / 3
2 = 3 - 3 + 2
2 = 3 * 1 - 1
2 = 3 * 2 / 3
2 = 3 / 1 - 1
2 = 3 / 3 * 2
2 = 3 / 3 + 1
2 = 3 + 1 - 2
2 = 3 + 2 - 3
3 = 1 - 1 + 3
3 = 1 * 1 * 3
3 = 1 * 1 + 2
3 = 1 * 2 + 1
3 = 1 * 3 * 1
3 = 1 * 3 / 1
3 = 1 / 1 * 3
3 = 1 / 1 + 2
3 = 1 + 1 * 2
3 = 1 + 1 + 1
3 = 1 + 2 * 1
3 = 1 + 2 / 1
3 = 1 + 3 - 1
3 = 2 - 1 + 2
3 = 2 - 2 + 3
3 = 2 * 1 + 1
3 = 2 * 2 - 1
3 = 2 * 3 - 3
3 = 2 * 3 / 2
3 = 2 / 1 + 1
3 = 2 / 2 * 3
3 = 2 / 2 + 2
3 = 2 + 1 * 1
3 = 2 + 1 / 1
3 = 2 + 2 - 1
3 = 2 + 2 / 2
3 = 2 + 3 - 2
3 = 2 + 3 / 3
3 = 3 - 1 + 1
3 = 3 - 2 + 2
3 = 3 - 3 + 3
3 = 3 * 1 * 1
3 = 3 * 1 / 1
3 = 3 * 2 - 3
3 = 3 * 2 / 2
3 = 3 * 3 / 3
3 = 3 / 1 * 1
3 = 3 / 1 / 1
3 = 3 / 2 * 2
3 = 3 / 3 * 3
3 = 3 / 3 + 2
3 = 3 + 1 - 1
3 = 3 + 2 - 2
3 = 3 + 3 - 3
4 = 1 * 1 + 3
4 = 1 * 2 * 2
4 = 1 * 2 + 2
4 = 1 * 3 + 1
4 = 1 / 1 + 3
4 = 1 + 1 * 3
4 = 1 + 1 + 2
4 = 1 + 2 + 1
4 = 1 + 3 * 1
4 = 1 + 3 / 1
4 = 2 - 1 + 3
4 = 2 * 1 * 2
4 = 2 * 1 + 2
4 = 2 * 2 * 1
4 = 2 * 2 / 1
4 = 2 * 3 - 2
4 = 2 / 1 * 2
4 = 2 / 1 + 2
4 = 2 / 2 + 3
4 = 2 + 1 * 2
4 = 2 + 1 + 1
4 = 2 + 2 * 1
4 = 2 + 2 / 1
4 = 2 + 3 - 1
4 = 3 - 1 + 2
4 = 3 - 2 + 3
4 = 3 * 1 + 1
4 = 3 * 2 - 2
4 = 3 / 1 + 1
4 = 3 / 3 + 3
4 = 3 + 1 * 1
4 = 3 + 1 / 1
4 = 3 + 2 - 1
4 = 3 + 2 / 2
4 = 3 + 3 - 2
4 = 3 + 3 / 3
5 = 1 * 2 + 3
5 = 1 * 3 + 2
5 = 1 + 1 + 3
5 = 1 + 2 * 2
5 = 1 + 2 + 2
5 = 1 + 3 + 1
5 = 2 * 1 + 3
5 = 2 * 2 + 1
5 = 2 * 3 - 1
5 = 2 / 1 + 3
5 = 2 + 1 * 3
5 = 2 + 1 + 2
5 = 2 + 2 + 1
5 = 2 + 3 * 1
5 = 2 + 3 / 1
5 = 3 - 1 + 3
5 = 3 * 1 + 2
5 = 3 * 2 - 1
5 = 3 / 1 + 2
5 = 3 + 1 * 2
5 = 3 + 1 + 1
5 = 3 + 2 * 1
5 = 3 + 2 / 1
5 = 3 + 3 - 1
6 = 1 * 2 * 3
6 = 1 * 3 * 2
6 = 1 * 3 + 3
6 = 1 + 2 + 3
6 = 1 + 3 + 2
6 = 2 * 1 * 3
6 = 2 * 2 + 2
6 = 2 * 3 * 1
6 = 2 * 3 / 1
6 = 2 / 1 * 3
6 = 2 + 1 + 3
6 = 2 + 2 * 2
6 = 2 + 2 + 2
6 = 2 + 3 + 1
6 = 3 * 1 * 2
6 = 3 * 1 + 3
6 = 3 * 2 * 1
6 = 3 * 2 / 1
6 = 3 * 3 - 3
6 = 3 / 1 * 2
6 = 3 / 1 + 3
6 = 3 + 1 * 3
6 = 3 + 1 + 2
6 = 3 + 2 + 1
6 = 3 + 3 * 1
6 = 3 + 3 / 1
7 = 1 + 2 * 3
7 = 1 + 3 * 2
7 = 1 + 3 + 3
7 = 2 * 2 + 3
7 = 2 * 3 + 1
7 = 2 + 2 + 3
7 = 2 + 3 + 2
7 = 3 * 2 + 1
7 = 3 * 3 - 2
7 = 3 + 1 + 3
7 = 3 + 2 * 2
7 = 3 + 2 + 2
7 = 3 + 3 + 1
8 = 2 * 2 * 2
8 = 2 * 3 + 2
8 = 2 + 2 * 3
8 = 2 + 3 * 2
8 = 2 + 3 + 3
8 = 3 * 2 + 2
8 = 3 * 3 - 1
8 = 3 + 2 + 3
8 = 3 + 3 + 2
9 = 1 * 3 * 3
9 = 2 * 3 + 3
9 = 3 * 1 * 3
9 = 3 * 2 + 3
9 = 3 * 3 * 1
9 = 3 * 3 / 1
9 = 3 / 1 * 3
9 = 3 + 2 * 3
9 = 3 + 3 * 2
9 = 3 + 3 + 3

Conclusion:
The challenge statement is true.