Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Vigen-re-cipher/TXR/vigen-re-cipher.txr
Normal file
23
Task/Vigen-re-cipher/TXR/vigen-re-cipher.txr
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
@(next :args)
|
||||
@(do
|
||||
(defun vig-op (plus-or-minus)
|
||||
(op + #\A [mod [plus-or-minus (- @1 #\A) (- @2 #\A)] 26]))
|
||||
|
||||
(defun vig (msg key encrypt)
|
||||
(mapcar (vig-op [if encrypt + -]) msg (repeat key))))
|
||||
@(coll)@{key /[A-Za-z]/}@(end)
|
||||
@(coll)@{msg /[A-Za-z]/}@(end)
|
||||
@(cat key "")
|
||||
@(filter :upcase key)
|
||||
@(cat msg "")
|
||||
@(filter :upcase msg)
|
||||
@(bind encoded @(vig msg key t))
|
||||
@(bind decoded @(vig msg key nil))
|
||||
@(bind check @(vig encoded key nil))
|
||||
@(output)
|
||||
text: @msg
|
||||
key: @key
|
||||
enc: @encoded
|
||||
dec: @decoded
|
||||
check: @check
|
||||
@(end)
|
||||
Loading…
Add table
Add a link
Reference in a new issue