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

 From pie to numbers (Posted on 2015-12-27)
Let us use the first 3 digits of PI, i.e. 3,1,4 to create numbers from 1 to 50, using only basic math. operators.
Not all the digits must be used, but none can be repeated.

Examples (out of this range): 52= 13*4; 65=4^3+1; 84=14*3!

Only few numbers cannot be achieved.

 No Solution Yet Submitted by Ady TZIDON No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 computer solution | Comment 2 of 14 |
The lowest number not found was 32; the others were 39, 45, 46, 49 and 50.

Only the first 25 found for each result were reported by the program, and these are not necessarily the simplest for those numbers with over 25 solutions. I've translated from the RPN (Reverse Polish Notation) output by the program to algebraic form, for one of each of the desired results, choosing one of the simpler cases shown.

`  1    1,3!,4!/^  1    1,3!,4-^  1    1,3!,4/^  1    1,3!^  1    1,3!^,4^  1    1,3+!,4!-!  1    1,3+!,4!/  1    1,3+,4-!  1    1,3+,4/  1    1,3,4!/^  1    1,3,4+^  1    1,3,4-+!  1    1,3,4/^  1    1,3^                1^3=1  1    1,3^,4^  1    1,4*,3-  1    1,4,3!!/^  1    1,4,3!/^  1    1,4,3+^  1    1,4,3-*  1    1,4,3--!  1    1,4,3-/  1    1,4,3-^  1    1,4,3/^  1    1,4-,3+!  2    1,3!*,4-  2    1,3!,4-*  2    1,3*!,4-  2    1,3,4--  2    1,3-,4+  2    1,4+,3-  2    1,4,3-+  2    3!,1*,4-  2    3!,1,4*-  2    3!,1/,4-  2    3!,1^,4-  2    3!,4,1*-  2    3!,4,1-/  2    3!,4,1/-  2    3!,4,1^-  2    3!,4-  2    3!,4-,1*  2    3!,4-,1/  2    3!,4-,1^  2    3,1*!,4-  2    3,1,4^-  2    3,1-                3-1=2  2    3,1/!,4-  2    3,1^!,4-  2    4,1+,3-  3    1,3!+,4-  3    1,3!,4-+            1*3=3  3    1,3*  3    1,4,3!--  3    1,4-,3!+  3    1,4^,3*  3    3!,1+,4-  3    3!,1,4-+  3    3!,4,1--  3    3!,4-,1+  3    3,1*                3*1=3  3    3,1,4^*  3    3,1,4^/  3    3,1,4^^  3    3,1/  3    3,1^  3    4!,3!/,1-  3    4,1,3!^-  3    4,1,3^-  3    4,1-  3    4,1-!,3-  4    1,3!,4!//  4    1,3!/,4!*  4    1,3!^,4*  4    1,3+  4    1,3^,4*  4    1,4!*,3!/  4    1,4!,3!/*  4    1,4*  4    1,4*!,3!/  4    1,4^,3+  4    3,1+  4    3,1,4^+  4    4!,1*,3!/  4    4,1*                4*1=4  4    4,1*!,3!/  4    4,1,3!^*  4    4,1,3!^/  4    4,1,3!^^  4    4,1,3^*  4    4,1,3^/  4    4,1,3^^  4    4,1/  4    4,1/!,3!/  4    4,1^  4    4,1^!,3!/  5    1,3!^,4+  5    1,3^,4+  5    1,4!,3!/+  5    1,4+  5    3!,1,4^-  5    3!,1-  5    3!,1-!,4!/  5    4!,3!/,1+  5    4,1+                4+1=5  5    4,1,3!^+  5    4,1,3^+  6    1,3!*  6    1,3!+,4-!  6    1,3!,4-+!  6    1,3*!  6    1,3+!,4/  6    1,4,3!--!  6    1,4-,3!+!   <-----  rather weird, deserving of note:  6    1,4^,3!*                 ((1-4) + 3!)!     6    1,4^,3*!  6    3!                  3!=6  6    3!,1*  6    3!,1+,4-!  6    3!,1,4-+!  6    3!,1,4^*  6    3!,1,4^/  6    3!,1/  6    3,1*!  6    3,1+!,4/  6    3,1,4--  6    3,1,4^*!  6    3,1,4^/!  6    3,1,4^^!  6    3,1-,4+  6    3,1/!  6    3,1^!  7    1,3!+  7    1,3*,4+  7    1,3,4+*  7    1,4*,3+  7    1,4,3+*  7    1,4^,3!+  7    3!,1+  7    3!,1,4^+  7    3,1*,4+  7    3,1,4*+  7    3,1/,4+  7    3,1^,4+  7    3,4+                3+4=7  7    3,4+,1*  7    3,4+,1/  7    3,4+,1^  7    3,4,1*+  7    3,4,1/+  7    3,4,1^+  7    31,4!-  7    4,1*,3+  7    4,1,3*+  7    4,1/,3+  7    4,1^,3+  7    4,3+  8    1,3+,4+             1+3+4=8  8    1,3,4!//  8    1,3,4++  8    1,3/,4!*  8    1,4!*,3/  8    1,4!,3/*  8    1,4*!,3/  8    1,4+,3+  8    1,4,3++  8    14,3!-  8    3,1+,4+  8    3,1,4++  8    3,1-,4*  8    3,4+,1+  8    3,4,1++  8    4!,1*,3/  8    4!,1,3*/  8    4!,1,3/*  8    4!,1/,3/  8    4!,1^,3/  8    4,1*!,3/  8    4,1+,3+  8    4,1,3++  8    4,1/!,3/  8    4,1^!,3/  9    1,4!,3/+  9    13,4-               13-4=9  9    3!,1,4--  9    3!,1-,4+  9    3!,4+,1-  9    3!,4,1-+  9    3,4,1-!+  9    3,4,1-*  9    4!,3/,1+  9    4,1,3!--  9    4,1-!,3+  9    4,1-,3!+  9    4,1-,3*  9    4,3!+,1-  9    4,3!,1-+ 10    1,3!*,4+ 10    1,3!,4+* 10    1,3*!,4+ 10    1,4*,3!+ 10    1,4,3!+* 10    3!,1*,4+ 10    3!,1,4*+ 10    3!,1/,4+ 10    3!,1^,4+ 10    3!,4+               3!+4=10 10    3!,4+,1* 10    3!,4+,1/ 10    3!,4+,1^ 10    3!,4,1*+ 10    3!,4,1/+ 10    3!,4,1^+ 10    3,1*!,4+ 10    3,1/!,4+ 10    3,1^!,4+ 10    4,1*,3!+ 10    4,1,3!*+ 10    4,1,3*!+ 10    4,1/,3!+ 10    4,1^,3!+ 10    4,3,1*!+ 11    1,3!+,4+ 11    1,3!,4++ 11    1,4+,3!+ 11    1,4,3!++ 11    14,3-               14-3=11 11    3!,1+,4+ 11    3!,1,4++ 11    3!,4+,1+ 11    3!,4,1++ 11    3,4*,1- 11    4!,13- 11    4,1+,3!+ 11    4,1,3!++ 11    4,3!+,1+ 11    4,3!,1++ 11    4,3*,1- 12    1,3*,4* 12    1,3,4** 12    1,4*,3* 12    1,4,3** 12    3!,4,1-!+ 12    3,1*,4* 12    3,1,4** 12    3,1,4// 12    3,1/,4* 12    3,1^,4* 12    3,4*                3*4=12 12    3,4*,1* 12    3,4*,1/ 12    3,4*,1^ 12    3,4,1** 12    3,4,1/* 12    3,4,1^* 12    4,1*,3* 12    4,1,3** 12    4,1,3// 12    4,1-!,3!+ 12    4,1/,3* 12    4,1^,3* 12    4,3* 12    4,3*,1* 13    1,3,4*+             1+3*4=13 13    1,4,3*+ 13    13 13    3,4*,1+ 13    4,3*,1+ 14    14                  14 15    1,4+,3* 15    3,1,4+*             3*(1+4)=15 15    3,4,1+* 15    4,1+,3* 16    1,3+,4*             (1+3)*4=16 16    1,3-,4^ 16    3,1+,4* 16    3,1-,4^ 16    4,1,3+* 16    4,3,1+* 16    4,3,1-^ 17    13,4+               13+4=17 17    14,3+ 17    3,14+ 17    4!,1,3!+- 17    4!,1-,3!- 17    4!,3!,1+- 17    4!,3!-,1- 17    4,13+ 18    1,4!*,3!- 18    1,4!,3!-* 18    1,4*!,3!- 18    3!,4,1-* 18    3,4,1-!* 18    4!,1*,3!- 18    4!,1,3!*- 18    4!,1,3*!- 18    4!,1/,3!- 18    4!,1^,3!- 18    4!,3!,1*- 18    4!,3!,1/- 18    4!,3!,1^- 18    4!,3!-              4!-3!=18 18    4!,3!-,1* 18    4!,3!-,1/ 18    4!,3!-,1^ 18    4!,3,1*!- 18    4!,3,1/!- 18    4!,3,1^!- 18    4,1*!,3!- 18    4,1-!,3* 18    4,1-,3!* 18    4,1/!,3!- 18    4,1^!,3!- 19    1,3!,4!-- 19    1,3!-,4!+ 19    1,4!+,3!- 19    1,4!,3!-+ 19    4!,1+,3!- 19    4!,1,3!-+ 19    4!,3!,1-- 19    4!,3!-,1+           4!-3!+1=19 20    1,3+!,4- 20    1,4+!,3!/ 20    14,3!+ 20    3!,1-,4* 20    3!,14+              3!+14=20 20    3,1+!,4- 20    4!,1,3+- 20    4!,1-,3- 20    4!,3,1+- 20    4!,3-,1- 20    4,1+!,3!/ 20    4,3!,1-* 21    1,4!*,3- 21    1,4!,3-* 21    1,4*!,3- 21    4!,1*,3- 21    4!,1,3*- 21    4!,1/,3- 21    4!,1^,3- 21    4!,3,1*- 21    4!,3,1/- 21    4!,3,1^- 21    4!,3-               4!-3=21 21    4!,3-,1* 21    4!,3-,1/ 21    4!,3-,1^ 21    4,1*!,3- 21    4,1/!,3- 21    4,1^!,3- 22    1,3,4!-- 22    1,3-,4!+ 22    1,4!+,3- 22    1,4!,3-+ 22    4!,1+,3- 22    4!,1,3-+ 22    4!,3,1-- 22    4!,3-,1+            4!-3+1=22 23    3!,4*,1- 23    4!,1,3!^- 23    4!,1,3^- 23    4!,1- 23    4!,3!/!,1- 23    4,3!*,1- 24    1,3!*,4* 24    1,3!,4!//! 24    1,3!,4** 24    1,3!/,4!*! 24    1,3!^,4!* 24    1,3!^,4*! 24    1,3*!,4* 24    1,3+!               (1+3)!=24 but cut off sol'n 4! would be simpler 24    1,3^,4!* 24    1,3^,4*! 24    1,4!* 24    1,4!*,3!/! 24    1,4!,3!/!* 24    1,4!,3!/*! 24    1,4*!               -- close, at (1*4)! 24    1,4*!,3!/! 24    1,4*,3!* 24    1,4,3!** 24    1,4^,3+! 24    3!,1*,4* 24    3,1*!,4* 24    3,1+! 24    3,1,4^+! 24    3,1/!,4* 24    3,1^!,4* 25    1,3!,4*+ 25    1,3!^,4!+ 25    1,3^,4!+ 25    1,4!+               1+4!=25 25    1,4!,3!/!+ 25    1,4,3!*+ 25    3!,4*,1+ 25    4!,1+ 25    4!,1,3!^+ 25    4!,1,3^+ 25    4!,3!/!,1+ 25    4,3!*,1+ 26    3,1,4!-- 26    3,1-,4!+ 26    3,4!+,1- 26    3,4!,1-+ 26    4!,1,3-- 26    4!,1-,3+ 26    4!,3+,1-            4!+3-1=26 26    4!,3,1-+ 27    1,3*,4!+ 27    1,3,4!+* 27    1,4!*,3+ 27    1,4!,3+* 27    1,4*!,3+ 27    3,1*,4!+ 27    3,1,4!*+ 27    3,1,4*!+ 27    3,1/,4!+ 27    3,1^,4!+ 27    3,4!+ 27    3,4!+,1* 27    3,4!+,1/ 27    3,4!+,1^ 27    3,4!,1*+ 27    3,4!,1/+ 27    3,4!,1^+ 27    3,4,1*!+ 27    3,4,1-^             3^(4-1)=27 27    3,4,1/!+ 27    3,4,1^!+ 27    31,4- 27    4,1*!,3+ 27    4,1-,3^ 27    4,1/!,3+ 28    1,3!+,4* 28    1,3+!,4+ 28    1,3+,4!+ 28    1,3,4!++ 28    1,4!+,3+ 28    1,4!,3++ 28    3!,1+,4* 28    3,1+!,4+ 28    3,1+,4!+ 28    3,1,4!++ 28    3,4!+,1+ 28    3,4!,1++ 28    4!,1+,3+            4!+1+3=28 28    4!,1,3++ 28    4!,3+,1+ 28    4!,3,1++ 28    4,1,3!+* 28    4,1,3+!+ 28    4,3!,1+* 28    4,3,1+!+ 29    3!!,4!/,1-         Interesting: (3!)!/4! - 1 29    3!,1,4!-- 29    3!,1-,4!+ 29    3!,4!+,1- 29    3!,4!,1-+ 29    4!,1,3!-- 29    4!,1-,3!+ 29    4!,3!+,1- 29    4!,3!,1-+           4!+(3!-1)=29 30    1,3!!*,4!/ 30    1,3!!,4!/* 30    1,3!*!,4!/ 30    1,3!*,4!+ 30    1,3!,4!+* 30    1,3*!!,4!/ 30    1,3*!,4!+ 30    1,4!*,3!+ 30    1,4!,3!!// 30    1,4!,3!+* 30    1,4!/,3!!* 30    1,4*!,3!+ 30    1,4+,3!*            (1+4)*3!=30 30    3!,1*!,4!/ 30    3!,1*,4!+ 30    3!,1,4+* 30    3!,1-!,4/ 30    3!,1/!,4!/ 30    3!,1/,4!+ 30    3,1*!!,4!/ 30    3,1*!,4!+ 30    3,1/!!,4!/ 30    3,1/!,4!+ 30    3,1^!!,4!/ 30    3,1^!,4!+ 31    1,3!!,4!/+ 31    1,3!+,4!+ 31    1,3!,4!++ 31    1,4!+,3!+ 31    1,4!,3!++ 31    3!!,4!/,1+ 31    3!,1+,4!+ 31    3!,1,4!++ 31    3!,4!+,1+           3!+4!+1=31 31    3!,4!,1++ 31    31 31    4!,1+,3!+ 31    4!,1,3!++ 31    4!,3!+,1+ 31    4!,3!,1++   33    34,1-               34-1=33 34    1,34*               34*1=34 34    34 34    34,1* 34    34,1/ 34    34,1^ 35    1,34+               1+34=35 35    31,4+ 35    34,1+ 35    4,31+ 35    41,3!- 36    3!,4,1-!*           3!*(4-1)!=36 36    4,1-!,3!* 37    13,4!+              13+4!=37 37    4!,13+ 38    41,3-               41-3=38   40    1,4+!,3/            (1+4)!/3=40 40    4,1+!,3/ 41    41                  41 42    14,3*               14*3=42 42    3,14* 42    43,1- 43    1,43* 43    43                  43 43    43,1* 43    43,1/ 43    43,1^ 44    1,43+               1+43=44 44    3,41+ 44    41,3+ 44    43,1+     47    3!,41+              3!+41=47 47    41,3!+ 48    1,3+!,4!+           (1+3)!+4!=48 48    3,1+!,4!+ 48    3,1-,4!* 48    4!,1,3+!+ 48    4!,3,1+!+ 48    4!,3,1-*`

The above is the sorted and annotated output from:

DefDbl A-Z
Dim crlf\$, stack(10), concatable(4), fact(10), solCt(50)
Dim stackPtr, wh, pz As String, expstr As String, lvl

Form1.Visible = True

pz0 = "134"

f = 1: fact(0) = f
For i = 1 To 10
f = f * i
fact(i) = f
Next

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

pz = pz0
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

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

End Sub

ReDim sstack(4)
ReDim sconcatable(4)

DoEvents
For typ = 0 To 7
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 < 4 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
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 < 4 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
Case 7  ' factorial
If stack(stackPtr) = Int(stack(stackPtr)) And stack(stackPtr) <= 10 And stack(stackPtr) >= 0 And stack(stackPtr) <> 1 And stack(stackPtr) <> 2 Then
stack(stackPtr) = fact(stack(stackPtr))
expstr = expstr + "!"
concatable(stackPtr) = 0
Else
good = 0
End If
End Select
If good Then
If stackPtr = 1 Then

If stack(stackPtr) <= 50 And stack(stackPtr) > 0 And stack(stackPtr) = Int(stack(stackPtr)) Then
solCt(stack(stackPtr)) = solCt(stack(stackPtr)) + 1
If solCt(stack(stackPtr)) < 26 Then
Text1.Text = Text1.Text & mform(stack(stackPtr), "##0") & "    " & expstr & crlf
End If
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

Function mform\$(x, t\$)
a\$ = Format\$(x, t\$)
If Len(a\$) < Len(t\$) Then a\$ = Space\$(Len(t\$) - Len(a\$)) & a\$
mform\$ = a\$
End Function

This was a fairly easy modification from the program to solve the puzzle called 80.  When debugging, the last remaining bug was that it was trying to use the 4th available digit when only three digits were available, and treating the non-existent digit as zero while adding no character to the RPN notation, rather than flagging an error.

Modifying the program to save the shortest (i.e., the first occurrence of that length) solution (when written in RPN), I found the following shortest expressions:

`1  1,3^                    1^32  3,1-                    3-13  1,3*                    1*34  1,3+                    1+35  1,4+                    1+46  3!                      3!7  3,4+                    3+48  4!,3/                   4!/39  13,4-                   13-410  3!,4+                  3!+411  14,3-                  14-312  3,4*                   3*413  13                     1314  14                     1415  1,4+,3*                (1+4)*316  1,3+,4*                (1+3)*417  13,4+                  13+418  4!,3!-                 4!-3!19  1,3!-,4!+              1-3!+4!20  14,3!+                 14+3!21  4!,3-                  4!-322  1,3-,4!+               1-3+4!23  4!,1-                  4!-124  4!                     4!25  1,4!+                  4!+126  3,1-,4!+               3-1+4!27  31,4-                  31-428  1,3+,4!+               1+3+4!29  3!,1-,4!+              3!-1+4!30  3!,4!+                 3!+4!31  31                     3132  33  34,1-                  34-134  34                     3435  1,34+                  1+3436  3!,4,1-!*              3!*(4-1)!37  13,4!+                 13+4!38  41,3-                  41-339  40  1,4+!,3/               (1+4)!/341  41                     4142  14,3*                  14*343  43                     4344  1,43+                  1+4345  46  47  3!,41+                 3!+4148  3,1-,4!*               (3-1)*4!49  50  `

 Posted by Charlie on 2015-12-27 13:40:30

 Search: Search body:
Forums (0)