On 2020-03-25 the following puzzle was posted on Twitter
https://twitter.com/segregustavo/status/1242609081191407618?s=20
The following Octave script solves the problem

## Solving puzzle ## https://twitter.com/segregustavo/status/1242609081191407618?s=20 digits = [6,2,1,4,0]; ## Number of correct entries (irrespective of position) function n = correct1(z,zref); ## If all numbers are different then unique will return 6 elements ## If there is one repeated number then it will return 5, and so on n = 6-length(unique([z,zref])); endfunction ## Number of correct entries (value and position) function n = correct2(z,zref); ## Just compare element by element n = sum(z==zref); endfunction ## Try all possible permutations. Just traverse all triplets and skip ## thos with repeated values ndig = length(digits); for k=1:ndig for l=1:ndig for m=1:ndig ## Skip repeated values if k==l || k==m || l==m; continue; endif z = [digits(k),digits(l),digits(m)]; ## OK will end up true if the triplet is good, false if not OK = 1; ## Check consistency with first triplet OK &= correct1(z,[6,8,2])==1; OK &= correct2(z,[6,8,2])==1; ## Check consistency with second triplet OK &= correct1(z,[6,1,4])==1; OK &= correct2(z,[6,1,4])==0; ## Check consistency with third triplet OK &= correct1(z,[2,0,6])==2; OK &= correct2(z,[2,0,6])==0; ## Check consistency with fourth triplet OK &= correct1(z,[7,8,0])==1; OK &= correct2(z,[7,8,0])==0; ## If Z passed all tests then it is the good one ## If the code is OK we would get a single answer: [0,4,2] if OK; disp(z); endif endfor endfor endfor

I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|

jpeg | ET6iTklXgAEf65w.jpeg | manage | 62 K | 26 Mar 2020 - 15:46 | MarioStorti |

This topic: Main/Cimec > MarioStorti > SolvingPuzzleWithOctave

Topic revision: 26 Mar 2020, MarioStorti

Topic revision: 26 Mar 2020, MarioStorti

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Ideas, requests, problems regarding Foswiki? Send feedback

Ideas, requests, problems regarding Foswiki? Send feedback