这两题都是好题啊。
第一题,涉及简单的密码破解,而且不涉及数论中的复杂知识,想一下RSA加密吧……
以它给的例子,我们来看一下怎样找到最初的C:
代码写出来是:
var a:array[1..1000]of char;
ans:array['a'..'z']of char;
s:string;
t:char;
r,i,j,k:integer;
begin
readln(s);
readln(r);
k:=length(s);
for i:=1 to k do a[i]:=s[i];
for i:=1 to k-1 do //冒泡排序;
for j:=i+1 to k do
if a[i]>a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
for i:=1 to k do
ans[s[i]]:=a[i];
t:=a[r];
for i:=1 to k do
begin
write(t);
t:=ans[t];
end;
end.