This week I wanted to play around with
Julia and exporting the results. I found
http://xianblog.wordpress.com/2013/12/29/le-monde-puzzle-847/ to be
just the right size to play around with.
Code
A function to check if a triplet has the desired propertyIn [1]:
function lemonde847(xx) a=[xx[1],2] b=[xx[2],8] c=[xx[3],4] sum(kron(c,kron(a,b))) endOut[1]:
lemonde847 (generic function with 1 method)Just a check - the function does indeed result in 1768 for the triplet 6 5 13.
In [2]:
lemonde847([6,5,13])
Out[2]:1768Check all combinations of numbers 1 to 60 excluding 2, 4 and 8. These need to be permuted later on. 60 may be a bit much, but how to calculate a bound? After all, imagine a set 1 3 60, that is only 1428. On the other hand, a combination with 59 and 60 should be too large. Hence we make a filter to exclude some. The rows where all three test numbers multiplied are higher than 1768. The remaining combinations are permuted and tested.
In [3]:
lemonde847([1,60,3])
Out[3]:1428In [4]:
totest = collect(combinations( symdiff(1:50, [2,4,8]),3))
Out[4]:16215-element Array{Array{Int64,1},1}: [1,3,5] [1,3,6] [1,3,7] [1,3,9] [1,3,10] [1,3,11] [1,3,12] [1,3,13] [1,3,14] [1,3,15] [1,3,16] [1,3,17] [1,3,18] ⋮ [45,48,50] [45,49,50] [46,47,48] [46,47,49] [46,47,50] [46,48,49] [46,48,50] [46,49,50] [47,48,49] [47,48,50] [47,49,50] [48,49,50]In [5]:
for i in 1:size(totest)[1] if prod(totest[i,])<1768 test2 = collect(permutations(totest[i,])) for j in 1:6 if lemonde847(test2[j,])==1768 print(test2[j,]') end end end end 6 5 13Seems I found the answer; 6 5 13. The only thing left is to export the results. A bit of googling showed http://ipython.org/ipython-doc/stable/interactive/nbconvert.html.
Final Notes
Conversion
In the end I converted the script via:ipython nbconvert lemonde847.ipynb
The resulting file was opened in libreoffice and copied pasted into blogger. This gave a bit better results than conversion using
ipython nbconvert --template basic lemonde847.ipynb
and a copy paste of the .html directly in blogger.
Some post editing was done after examination of the preview of the post, but that is fairly normal for me.
No comments:
Post a Comment