pascal编码

来源:百度知道 编辑:UC知道 时间:2024/06/30 21:38:00
编码工作常被运用于密文或压缩传输。这里我们用一种最简单的编码方式进行编码:把一些有规律的单词编成数宇。
字母表中共有26个字母{a,b,…,z},这些特殊的单词长度不超过6且字母按升序排列。把所有这样的单词放在一起,按字典顺序排列,一个单词的编码就对应着它在字典中的位置。
例如:
a→1 b→2 z→26 ab→27 ac→28
你的任务就是对于所给的单词,求出它的编码。
【输入】
仅一行,被编码的单词。
【输出】
仅一行,对应的编码。如果单词不在字母表中,输出0。
样例:
输入:
ab
输出:
27

var i,j,k,l:integer;
t,tot:longint;
s,s1:string;
se:set of char=['a'..'z'];
begin
readln(s);
t:=1;
tot:=0;
while s<>'' do begin
if not(s[1] in se)then begin
writeln(0);
readln;
halt;
end;
tot:=tot+t*(ord(s[1])-96);
delete(s,1,1);
t:=t*2;
end;
writeln(tot);
readln;
end.