All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 80 (Posted on 2015-12-19)
On my 80th birthday my guests were presented with several sets of 4-digit numbers and challenged to create the number 80 using some (or all) of the 4 digits, basic math. signs (+,-,*,/,^ ,concatenation and brackets).
Examples:
n=1268; answers 16+8^2 or 68+12
n=3024; answers 320/4 or 20*4 or 40*2

More (for you to solve):
0269
0246
0468
0579
0126
1234
1469
1579
1645
2359
5555
8249
9999

 No Solution Yet Submitted by Ady TZIDON No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 computer solutions for all but 2359 | Comment 1 of 3
I've manually annotated some of the produced RPN (Reverse Polish Notation) with the equivalent algebraic notation. Many of the findings are basically equivalent to others and have not been so annotated.

`     RPN              Algebraic0269    9,2^,6,0^-        9^2 - 6^00246    20,4*             20*4    2,40*             2*40    40,2*             40*2    4,20*             4*200468    04,6+,8*          (4+6)*8    0,4+,6+,8*    0,4,6++,8*    0,4,6+,8*+         ...variations    06,4+,8*    0,6+,4+,8*    0,6,4++,8*    0,6,4+,8*+    08,4,6+*    0,8+,4,6+*    0,8,4,6+*+    08,6,4+*    0,8+,6,4+*    0,8,6,4+*+    4,06+,8*    4,0+,6+,8*    4,0-,6+,8*    4,0,6++,8*    4,0,6--,8*    40,8,6-*    4,6+,08*    4,6+,0+,8*    4,6+,0-,8*    4,6+,0,8+*    4,6,0++,8*    4,6,0-+,8*    4,6+,8*    4,6+,8*,0+    4,6+,8*,0-    4,6+,8,0+*    4,6+,8,0-*    480,6/               480/6    6,04+,8*    6,0+,4+,8*    6,0-,4+,8*    6,0,4++,8*    6,0,4--,8*    640,8/               640/8    6,4+,08*    6,4+,0+,8*    6,4+,0-,8*    6,4+,0,8+*    6,4,0++,8*    6,4,0-+,8*    6,4+,8*    6,4+,8*,0+    6,4+,8*,0-    6,4+,8,0+*    6,4+,8,0-*    80                    80    8,04,6+*    8,0+,4,6+*    8,0-,4,6+*    8,0,4+,6+*    8,0,4,6++*    80    8,06,4+*    8,0+,6,4+*    8,0-,6,4+*    8,0,6+,4+*    8,0,6,4++*    8,4,06+*    8,4,0+,6+*    8,4,0-,6+*    8,4,0,6++*    8,4,0,6--*    8,4,6+*    8,4,6+*,0+    8,4,6+*,0-    8,4,6+,0+*    8,4,6+,0-*    8,4,6,0++*    8,4,6,0-+*    8,6,04+*    8,6,0+,4+*    8,6,0-,4+*    8,6,0,4++*    8,6,0,4--*    8,6-,40*             (8-6)*40    8,6,4+*    8,6,4+*,0+    8,6,4+*,0-    8,6,4+,0+*    8,6,4+,0-*    8,6,4,0++*    8,6,4,0-+*0579    05,7,9+*              5*(7+9)    0,5+,7,9+*    0,5,7,9+*+    05,9,7+*    0,5+,9,7+*    0,5,9,7+*+    07,9+,5*    0,7+,9+,5*    0,7,9++,5*    0,7,9+,5*+    09,7+,5*    0,9+,7+,5*    0,9,7++,5*    0,9,7+,5*+    5,07,9+*    5,0+,7,9+*    5,0-,7,9+*    5,0,7+,9+*    5,0,7,9++*    5,0^,79+    5,09,7+*    5,0+,9,7+*    5,0-,9,7+*    5,0,9+,7+*    5,0,9,7++*    5,7,09+*    5,7,0+,9+*    5,7,0-,9+*    5,7,0,9++*    5,7,0,9--*    5,7,9+*    5,7,9+*,0+    5,7,9+*,0-    5,7,9+,0+*    5,7,9+,0-*    5,7,9,0++*    5,7,9,0-+*    5,9,07+*    5,9,0+,7+*    5,9,0-,7+*    5,9,0,7++*    5,9,0,7--*    5,9,7+*    5,9,7+*,0+    5,9,7+*,0-    5,9,7+,0+*    5,9,7+,0-*    5,9,7,0++*    5,9,7,0-+*    7,09+,5*    7,0+,9+,5*    7,0-,9+,5*    7,0,9++,5*    7,0,9--,5*    7,9+,05*    7,9+,0+,5*    7,9+,0-,5*    7,9+,0,5+*    7,9,0++,5*    7,9,0-+,5*    79,5,0^+               79+5^0    7,9+,5*    7,9+,5*,0+    7,9+,5*,0-    7,9+,5,0+*    7,9+,5,0-*    9,07+,5*    9,0+,7+,5*    9,0-,7+,5*    9,0,7++,5*    9,0,7--,5*    9,7+,05*    9,7+,0+,5*    9,7+,0-,5*    9,7+,0,5+*    9,7,0++,5*    9,7,0-+,5*    9,7+,5*    9,7+,5*,0+    9,7+,5*,0-    9,7+,5,0+*    9,7+,5,0-*0126    10,2,6+*                10*(2+6)    10,6,2+*    160,2/                  160/2    2,6+,10*    6,2+,10*1234    1,2-,3,4^+            1-2+3^4    1,2,3,4^--    1,3,4^+,2-    1,3,4^,2-+    3,4^,1+,2-    3,4^,1-               3^4 - 1    3,4^,1,2-+    3,4^,1,2^-    3,4^,2-,1+    3,4^,2,1--1469    16,9,4-*             16*(9-4)    4,6+,9,1-*           (6+4)*(9-1)    6,4+,9,1-*    6,9-,4^,1-           (6-9)^4 - 1    9,1-,4,6+*    9,1-,6,4+*    9,4-,16*    9,6-,4^,1-    9,6,4-^,1-1579    1,5*,7,9+*    1,5,7,9+**    1,5^,79+    1,5*,9,7+*    1,5,9,7+**    1,79+    1,7*,9+,5*    1,7,9+*,5*    1,7,9+,5**    1,9*,7+,5*    1,9,7+*,5*    1,9,7+,5**    5,1*,7,9+*    5,1/,7,9+*    5,1,7*,9+*    5,1,7,9+**    5,1,7,9+//    5,1^,7,9+*    5,1*,9,7+*    5,1/,9,7+*    5,1,9*,7+*    5,1,9,7+**    5,1,9,7+//    5,1^,9,7+*    5,7,1*,9+*    5,7,1/,9+*    5,7,1,9*+*    5,7,1^,9+*    5,7,9+*                   5*(7+9)    5,7,9+*,1*    5,7,9+*,1/    5,7,9+*,1^    5,7,9+,1**    5,7,9+,1/*    5,7,9+,1^*    5,7,9,1*+*    5,7,9,1/+*    5,7,9,1^+*    5,9,1*,7+*    5,9,1/,7+*    5,9,1,7*+*    5,9,1^,7+*    5,9,7+*    5,9,7+*,1*    5,9,7+*,1/    5,9,7+*,1^    5,9,7+,1**    5,9,7+,1/*    5,9,7+,1^*    5,9,7,1*+*    5,9,7,1/+*    5,9,7,1^+*    71,9+                    71+9    7,1*,9+,5*    7,1/,9+,5*    7,1,9*+,5*    7,1^,9+,5*    79,1+                    79+1    79,1,5^+    7,9+,1*,5*    7,9+,1/,5*    7,9+,1,5**    7,9+,1,5//    7,9+,1^,5*    7,9,1*+,5*    7,9,1/+,5*    7,9,1^+,5*    7,9+,5*    7,9+,5*,1*    7,9+,5*,1/    7,9+,5*,1^    7,9+,5,1**    7,9+,5,1/*    7,9+,5,1^*    9,1*,7+,5*    9,1/,7+,5*    9,1,7*+,5*    9,1^,7+,5*    9,71+    9,7+,1*,5*    9,7+,1/,5*    9,7+,1,5**    9,7+,1,5//    9,7+,1^,5*    9,7,1*+,5*    9,7,1/+,5*    9,7,1^+,5*    9,7+,5*    9,7+,5*,1*    9,7+,5*,1/    9,7+,5*,1^    9,7+,5,1**    9,7+,5,1/*    9,7+,5,1^*    9,7,5-^,1-            9^(7-5) - 11645    16,5*                  16*5    5,16*2359   .............  hmmm, nothing here5555    55,5,5*+             55+5*5    5,5*,55+8249    8,2,4*,9*+          8 + 2*4*9    8,2,4,9**+    8,2*,9,4-*          2 * 8 * (9-4)    8,2,9*,4*+    8,2,9,4-**    8,2,9,4**+    8,4,2*,9*+    8,4,2,9**+    8,4,9*,2*+    8,4,9,2**+    8,9*,2,4*+    8,9,2*,4*+    8,9,2,4**+    8,9*,4,2*+    8,9,4-*,2*    8,9,4-,2**    8,9,4*,2*+    8,9,4,2**+    92,4-,8-            92-4-8    92,4,8+-    9,2*,4*,8+    9,2,4**,8+    92,8-,4-    92,8,4+-            92-(4+8)    9,4-,2*,8*    9,4-,2,8**    9,4*,2*,8+    9,4,2**,8+    9,4-,8*,2*    9,4-,8,2**    9,8*,2,4*+    9,8*,4,2*+    2,4*,8,9*+    2,4*,9*,8+    2,4*,9,8*+    2,4,9**,8+    2,8*,9,4-*    2,8,9,4-**    2,9*,4*,8+    2,9,4-*,8*    2,9,4-,8**    2,9,4**,8+    4,2*,8,9*+    4,2*,9*,8+    4,2*,9,8*+    4,2,9**,8+    4,9*,2*,8+    4,9,2**,8+9999    9,9*,9,9/-          9*9 - 9/9`

DefDbl A-Z
Dim crlf\$, puzz(13) As String, stack(10), concatable(4)
Dim stackPtr, wh, pz As String, expstr As String

Form1.Visible = True

puzz(1) = "0269"
puzz(2) = "0246"
puzz(3) = "0468"
puzz(4) = "0579"
puzz(5) = "0126"
puzz(6) = "1234"
puzz(7) = "1469"
puzz(8) = "1579"
puzz(9) = "1645"
puzz(10) = "2359"
puzz(11) = "5555"
puzz(12) = "8249"
puzz(13) = "9999"

Text1.Text = ""
crlf = Chr\$(13) + Chr\$(10)

For pNo = 1 To 13
pz\$ = puzz(pNo)
Text1.Text = Text1.Text & pz & crlf
h\$ = pz
Do
stackPtr = 1
stack(1) = Val(Left(pz, 1)): concatable(1) = 1
expstr = LTrim(Str(stack(1)))
wh = 2

permute pz
Loop Until pz = h
Next

Text1.Text = Text1.Text & crlf & " done"

End Sub

ReDim sstack(4)
ReDim sconcatable(4)
DoEvents
For typ = 0 To 6
sstackPtr = stackPtr
sexpstr\$ = expstr
For i = 1 To stackPtr
sstack(i) = stack(i)
sconcatable(i) = concatable(i)
swh = wh
Next
good = 1
Select Case typ
Case 0 ' concatenate
If concatable(stackPtr) And wh < 5 Then
stack(stackPtr) = 10 * stack(stackPtr) + Val(Mid(pz, wh, 1))
expstr = expstr + Mid(pz, wh, 1)
wh = wh + 1
Else
good = 0
End If
Case 1  ' add (+)
If stackPtr > 1 Then
stackPtr = stackPtr - 1
stack(stackPtr) = stack(stackPtr) + stack(stackPtr + 1)
expstr = expstr + "+"
concatable(stackPtr) = 0
Else
good = 0
End If

Case 2   ' subtract (-)
If stackPtr > 1 Then
stackPtr = stackPtr - 1
stack(stackPtr) = stack(stackPtr) - stack(stackPtr + 1)
expstr = expstr + "-"
concatable(stackPtr) = 0
Else
good = 0
End If
Case 3  ' multiply (*)
If stackPtr > 1 Then
stackPtr = stackPtr - 1
stack(stackPtr) = stack(stackPtr) * stack(stackPtr + 1)
expstr = expstr + "*"
concatable(stackPtr) = 0
Else
good = 0
End If
Case 4  ' divide (/)
If stackPtr > 1 And stack(stackPtr) <> 0 Then
stackPtr = stackPtr - 1
stack(stackPtr) = stack(stackPtr) / stack(stackPtr + 1)
expstr = expstr + "/"
concatable(stackPtr) = 0
Else
good = 0
End If
Case 5   ' comma
If wh < 5 Then
stackPtr = stackPtr + 1
stack(stackPtr) = Val(Mid(pz, wh, 1))
concatable(stackPtr) = 1
expstr = expstr + "," + Mid(pz, wh, 1)
wh = wh + 1
Else
good = 0
End If
Case 6  ' power (^)
If stackPtr > 1 Then
If stack(stackPtr - 1) <> 0 And stack(stackPtr - 1) < 1000 And stack(stackPtr) >= 0 And stack(stackPtr) < 10 And (stack(stackPtr - 1) > 0 Or stack(stackPtr) = Int(stack(stackPtr))) Then
stackPtr = stackPtr - 1
stack(stackPtr) = stack(stackPtr) ^ stack(stackPtr + 1)
expstr = expstr + "^"
concatable(stackPtr) = 0
Else
good = 0
End If
Else
good = 0
End If
End Select
If good Then
If stackPtr = 1 Then

If stack(stackPtr) = 80 Then
Text1.Text = Text1.Text & "    " & expstr & crlf
End If
End If
End If
wh = swh
expstr = sexpstr
stackPtr = sstackPtr
For i = 1 To stackPtr
stack(i) = sstack(i)
concatable(i) = sconcatable(i)
Next

Next typ

End Sub

 Posted by Charlie on 2015-12-19 13:15:36

 Search: Search body:
Forums (2)