编程题
Quicksum校验和
## 来源
Mid-Central USA 2006 (ZOJ2812, POJ3094)
## 题目描述
校验和是一种算法,这种算法扫描数据包并返回一个值。这种算法的思想是当数据包被改变了,校验和同样要改变,因此校验和通常用来检查传输错误,用来确认传输内容的正确性。
本题要实现一种校验和算法,称为Quicksum。一个Quicksum数据包只允许包含大写字母和空格,且起始和终止字符都是大写字母。除此之外,空格和大写字母允许以任何的组合方式出现,包括连续的空格。校验和Quicksum是数据包中所有字符在数据包中的位置和其值的乘积的累加。空格的值为0,其他大写字符的值为它在字母表中的位置,即A=1,B=2,...,Z=26。
下面是Quicksum数据包"ACM" and "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个字符。
## 输出描述
对每个数据包,输出一行,为它的校验和。
## 样例输入
```txt
ACM
REGIONAL PROGRAMMING CONTEST
#
```
## 样例输出
```txt
46
4690
```