Quicksum
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2202 Accepted Submission(s): 1680
For this problem, you will implement a checksum algorithm called Quicksum. A Quicksum packet allows only uppercase letters and spaces. It always begins and ends with an uppercase letter. Otherwise, spaces and letters can occur in any combination, including consecutive spaces.
A Quicksum is the sum of the products of each character's position in the packet times the character's value. A space has a value of zero, while letters have a value equal to their position in the alphabet. So, A=1, B=2, etc., through Z=26. Here are example Quicksum calculations for the packets "ACM" and "MID CENTRAL":
ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650
#include<cstdio>
#include<cstring>
int main()
{
char str[3000];
while(gets(str),str[0]!='#')
{
int sum=0,len,i;
len=strlen(str);
for(i=0;i<=len;i++)
if(str[i]>='A'&&str[i]<='Z')
sum+=(i+1)*(str[i]-64);
printf("%d\n",sum);
}
return 0;
}