09/06/20 08:33:46
ということは、
>>238 >>239 文字コードによる暗号化/3 も以下がよい。
文字列の暗号化(_鍵整数,_元の文字列,_暗号文字列) :-
integer(_鍵整数),
_鍵整数>=10
_鍵整数=<99,
atom_codes(_元の文字列,Codes),
_奇数番目の鍵 is _鍵整数 // 10,
_偶数番目の鍵 is _鍵整数 mod 10,
文字コードによる暗号化(_奇数番目の鍵,_偶数番目の鍵,Codes,_暗号Codes),
atom_codes(_暗号文字列,_暗号Codes).
文字コードによる暗号化(_,_,[],[]) :- !.
文字コードによる暗号化(_鍵1,_鍵2,[A|R1],[B|R2]) :-
一文字の暗号化(_鍵1,A,B),
文字コードによる暗号化(_鍵2,_鍵1,R1,R2).
一文字の暗号化(_変位,_文字コード,_暗号化された文字コード) :-
_文字コード+_変位 =< 122,!,
_暗号化された文字コード is _文字コード+_変位.
一文字の暗号文字化(_変位,_文字コード,_暗号化された文字コード) :-
_文字コード+_変位 >122,!,
_暗号化された文字コード is _文字コード+_変位-90.