Quicksum
Quicksum 是每个字符在数据包中的位置乘以字符值的乘积之和。空格的值为零,而字母的值等于它们在字母表中的位置。因此,A=1、B=2等,直到Z=26。
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 个字符。
输出对于每个数据包,在输出中的单独行上输出其 Quicksum。
#include<iostream>
using namespace std;
int main()
{
char a[300];
int len,sum;
while(gets(a))
{
sum=0;
if(a[0]=='#')
return 0;
else
{
len=strlen(a);
for(int i=0;i<len;i++)
{
if(a[i]==' ')
continue;
else
sum=sum+(i+1)*(a[i]-64); //在ASCII代码中A表示65
}
}
cout<<sum<<endl;
}
return 0;
}
此题重点在于在ACSII码中A对应数为65,B对应66,以此类推。冲冲冲,代码人!