NYOJ 173 Quicksum
2014-02-15 15:11
246 查看
Quicksum
时间限制:3000 ms | 内存限制:65535 KB难度:2
描述
A checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is changed, the checksum will also change, so checksums are often used for detecting transmission errors, validating document contents, and in
many other situations where it is necessary to detect undesirable changes in data.
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 = 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
输入
The input consists of one or more packets followed by a line containing only # that signals the end of the input. Each packet is on a line by itself, does not begin or end with a space, and contains from 1 to 300 characters.
输出
For each packet, output its Quicksum on a separate line in the output.
样例输入
ACM MID CENTRAL REGIONAL PROGRAMMING CONTEST ACN A C M ABC BBC #
样例输出
46 650 4690 49 75 14 15
思路:略。
#include <stdio.h> int main() { char s[310]; while (gets(s) != NULL && *s != '#') { int i=0,sum = 0; while (s[i] != '\0') { if (s[i] != ' ') { sum += (i+1) * (s[i]-'A'+1); } i++; } printf("%d\n",sum); } return 0; }
相关文章推荐
- nyoj-173-Quicksum
- NYOJ40公约数和公倍数
- nyoj 22 素数求和
- NYOJ 455 黑色帽子
- nyoj 括号配对问题
- NYOJ484The Famous Clock
- nyoj-712 探寻宝藏
- nyoj187 快速查找素数
- NYOJ289 苹果(经典的01背包问题)
- NYOJ111-分数加减法
- nyoj 944 蚂蚁的腿
- nyoj32 组合数【DFS】
- nyoj 完全背包
- NYOJ 128 前缀式计算
- nyoj_308_Substring_201405091611
- NYOJ-1022合纵连横(并查集的删除操作)
- nyoj 又见01背包
- nyoj 239 月老的难题 二分图最大匹配(匈牙利算法)
- NYOJ714 Card Trick 【队列模拟】
- NYOJ--448--寻找最大数