Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

RE: RE: Cryptogram Generator

by Elihu (Novice)
on Feb 08, 2000 at 07:39 UTC ( #3030=note: print w/replies, xml ) Need Help??

in reply to RE: Cryptogram Generator
in thread Cryptogram Generator

Wow. Thanks for the new ideas. I've been playing with the different algorithms a bit. I've seen somewhere how you do benchmarking, I'll try my own just to see for myself how it's done and if I get comparable numbers.

I was pretty sure there was a better way to do that. :)

Replies are listed 'Best First'.
Re^3: Cryptogram Generator
by duggles (Acolyte) on Dec 11, 2007 at 00:20 UTC

    I've been working on a cryptogram solver and discovered this post and found the code useful - I snagged the code for the fisher_yates_shuffle to grab one of my solved cryptograms to recreate one to work on solving and I found that in some instances one or two of the letters in $substit remained the same as it was originally. The line that checks for $i == $j does a next BUT $i keeps on counting down and effectively leaves the unchanged letter alone. I fixed it by incrementing $i before doing the next.

    I realize in some cases the shuffle results are okay if this happens, but in a cryptogram, it won't fly... ;-) Just thought I'd throw this info back out there just in case you or anyone else may have a need for the fix.

    Here's the modified sub:

    ## Taken from perlfaq4 (thanks btrott) sub fisher_yates_shuffle { my $array = shift; for (my $i = @$array; --$i; ) { my $j = int rand ($i+1); # next if $i == $j; # original if ($i == $j) { # this means the letter will be the same as it wa +s before $i++; # put $i back where it was and get another one next; } @$array[$i, $j] = @$array[$j, $i]; } return join '', @$array; }

    thanks for the original post! I'm learning a little here and there about using perl to solve cryptos... it's gonna take a while, but it's fun!!!

    Life is short, but it's wide -- Chuck Pyle

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://3030]
[Lady_Aleena]: Module is currently 104 lines but will shirnk to 63. The script using the module is currently 40 lines but will grow to 82, 180 to 146 lines total. (This is after rewrting the data files.)

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2017-05-29 03:09 GMT
Find Nodes?
    Voting Booth?