Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
24
Task/Substitution-cipher/Prolog/substitution-cipher.pro
Normal file
24
Task/Substitution-cipher/Prolog/substitution-cipher.pro
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
cypher(O, S) :-
|
||||
nonvar(O),
|
||||
var(S),
|
||||
atom_chars(O,Oc),
|
||||
sub_chars(Oc,Sc),
|
||||
atom_chars(S,Sc).
|
||||
cypher(O, S) :-
|
||||
nonvar(S),
|
||||
var(O),
|
||||
atom_chars(S,Sc),
|
||||
sub_chars(Oc,Sc),
|
||||
atom_chars(O,Oc).
|
||||
|
||||
% mapping based on ADA implementation but have added space character
|
||||
base(['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,' ']).
|
||||
subs(['V',s,c,i,'B',j,e,d,g,r,z,y,'H',a,l,v,'X','Z','K',t,'U','P',u,m,'G',f,'I',w,'J',x,q,'O','C','F','R','A',p,n,'D',h,'Q','W',o,b,' ','L',k,'E','S','Y','M','T','N']).
|
||||
|
||||
sub_chars(Original,Subbed) :-
|
||||
base(Base),
|
||||
subs(Subs),
|
||||
maplist(sub_char(Base,Subs),Original,Subbed).
|
||||
|
||||
sub_char([Co|_],[Cs|_],Co,Cs) :- !.
|
||||
sub_char([_|To],[_|Ts], Co, Cs) :- sub_char(To,Ts,Co,Cs).
|
||||
Loading…
Add table
Add a link
Reference in a new issue