-->
当前位置:首页 > 题库

编程题:4011 检验和

Luz4年前 (2022-04-21)题库839
检验和是一种算法,这种算法扫描数据包并返回一个值。这种算法的思想是当数据包被改变时,校验和同样要改变,因此校验和通常用来检查传输错误,用来确认传输内容的正确性。
在本题中,你需要实现一种校验和算法,称为Quicksum,一个Quicksum数据包只允许包含大写字母和空格,并且起始字符和终止字符都是大写字母。除此之外,空格和大写字母允许以任何的组合方式出现,包括连续的空格。
校验和Quicksum是数据包中所有字符在数据包中的位置和它的值的乘积的累加和。空格的值为0,其他大写字母的值为它在字母表中的位置,即A=1,B=2,……,Z=26。
下面是Quicksum数据包“ACM”和“MID CENTRAL”的校验和计算方法:
ACM:1 * 1 + 2 * 3 + 3 * 13 = 46
MID CENTRAL:1 * 13 + 2 * 9 + 3 * 4 + 4 * 0 + 5 * 3 + 6 * 5 + 7 * 14 + 8 * 20 + 9 * 18 + 10 * 1 + 11 * 12 = 650

### 输入格式:

输入文件包括一个或多个数据包,输入文件的最后一行为符号#,表示输入文件结束。每个数据包占一行,每个数据包不会以空格开头或结尾,每个数据包包含1~255个字符。

### 输出格式:

对每个数据包,输出一行,为它的校验和。

### 输入样例:

in
ACM
MID CENTRAL
REGIONAL PROGRAMMING CONTEST
ACN
A C M
ABC
BBC
#


### 输出样例:

out
46
650
4690
49
75
14
15







答案:若无答案欢迎评论