编程题
                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个字符。

输出描述

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

样例输入

ACM
REGIONAL PROGRAMMING CONTEST
#

样例输出

46
4690
查看答案
赣ICP备20007335号-2