Re: simple cipher
- To: mathgroup at smc.vnet.net
- Subject: [mg55391] Re: simple cipher
- From: Bill Rowe <readnewsciv at earthlink.net>
- Date: Mon, 21 Mar 2005 03:01:58 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
On 3/20/05 at 4:11 AM, chocolatez at gmail.com (zak) wrote: >s1 = {1, 0, 1, 0, 0, 1, 0, 1} >s2 = {L, r, o, w, e, v, y, e} >s1 is a kind of a sieve i want to look through to s2, so i could >pick every letter in s2 wich correspond to every digit=1 in s1 so i >could obtain the word "love", this is like the trivial ciphers we >know in our childhood, i have the following approach, i hope there >is other versions. >p = Flatten[Position[s1, 1]] >out[]= {1, 3, 6, 8} >str = ""; >Do[str = StringJoin[str, ToString[s2[[p[[i]]]]]], {i, 1,4}] >str >Out[]= Love With version 5.1 this could be done as str=StringJoin@@(ToString/@Pick[s2,s1,1]) And with earlier versions the Do loop can be eliminated with str = StringJoin@@(ToString/@s2[[p]]) -- To reply via email subtract one hundred and four