#P3094. Quicksum
Quicksum
问题描述
校验和是一种算法,它扫描数据包并返回一个数字。其核心思想是,如果数据包发生改变,校验和也会随之变化。因此,校验和常用于检测传输错误、验证文档内容,以及其他需要检测数据异常变动的场景。
本题要求实现一种名为 的校验和算法。 数据包仅允许大写字母和空格,且必须以大写字母开头和结尾。除此之外,空格和字母可以任意组合出现,包括连续的空格。
的计算方法是:将数据包中每个字符的位置(从开始)乘以该字符的对应值,再将所有乘积相加。其中,空格的值是,字母的值是其字母表中的顺序(即,,……,)。以下是数据包 "" 和 "" 的 计算示例:
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
ACM
MID CENTRAL
REGIONAL PROGRAMMING CONTEST
ACN
A C M
ABC
BBC
#
输出样例1
46
650
4690
49
75
14
15
来源
2006年美国中北部地区