问题 1034 --6.3校验和

1034: 6.3校验和

时间限制: 1 Sec  内存限制: 128 MB
提交: 3  解决: 3
[提交][状态][讨论版][命题人:]

题目描述

校验和是一种算法,这种算法扫描数据包并返回一个值。这种算法的思想是当数据包被改变时,校验和同样要改变,因此校验和通常用来检查传输错误,用来
确认传输内容的正确性。
在本题中,你需要实现一种校验和算法,称为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个字符。

输出

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

样例输入

ACM
MID CENTRAL
REGIONAL PROGWRAMMING CONTEST
#

样例输出

46
650
5183

提示

来源

[提交][状态]