1 Quicksum



checksum 是扫描一个数据包并返回一个数值的一种算法。其思路在于,如果数据包被修改过,那么,checksum 也会立即变化。所以,checksum 常常用于侦查数据传输错误,证

实文档内容的完整性和其他需要检查数据不被修改的场合。

在本题中,你将实现一个 checksum 算法即 Quicksum。一个 Quicksum 数据包仅允许包含大写字母和空格,它通常是由一个大写字母开始和结束。然而,空格和字母可以出现在

其他的位置中,连续的空格也是允许的。

Quicksum 是一行字符串(数据包)中每个字符的位置与该字符的值的乘积之和。空格的值是 0,字母的值等于它在字母表中的位置。所以,A 的值是 1,B 的值是 2,依此类推,Z 的值是 26。下面两个例子是求“ACM”和“MID CENTRAL”的 Quicksum:

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

2.输入描述

输入数据包含一个或多个数据包,输入数据以“#”结束。每个数据包占一行,不能以空格开始或结束,

包含 1~255 个字符。

3.输出描述

对于每个数据包,在每一行上输出它的 Quicksum。

 
   
  1. #include
  2. #include
  3. #include
  4. using namespace std;
  5. int main()
  6. {
  7.  ifstream file("aaa.txt");
  8.  double sum=0;
  9.  string s;
  10.  int i;
  11.  //char ch[100];
  12.  while(getline(file,s))
  13.  {
  14.   if(s[0]=='#') break;
  15.   for(i=0;s[i]!='\0';i++)
  16.     if(s[i]!=' ') sum = sum+i*(s[i]-64);
  17.   cout<<sum<<endl;
  18.   sum=0;
  19.  
  20.  }
  21.  return 0;
  22. }


checksum 是扫描一个数据包并返回一个数值的一种算法。其思路在于,如果数据包被修改过,那么,checksum 也会立即变化。所以,checksum 常常用于侦查数据传输错误,证

实文档内容的完整性和其他需要检查数据不被修改的场合。

在本题中,你将实现一个 checksum 算法即 Quicksum。一个 Quicksum 数据包仅允许包含大写字母和空格,它通常是由一个大写字母开始和结束。然而,空格和字母可以出现在

其他的位置中,连续的空格也是允许的。

Quicksum 是一行字符串(数据包)中每个字符的位置与该字符的值的乘积之和。空格的值是 0,字母的值等于它在字母表中的位置。所以,A 的值是 1,B 的值是 2,依此类推,Z 的值是 26。下面两个例子是求“ACM”和“MID CENTRAL”的 Quicksum:

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

2.输入描述

输入数据包含一个或多个数据包,输入数据以“#”结束。每个数据包占一行,不能以空格开始或结束,

包含 1~255 个字符。

3.输出描述

对于每个数据包,在每一行上输出它的 Quicksum。

 
    
  1. #include
  2. #include
  3. #include
  4. using namespace std;
  5. int main()
  6. {
  7.  ifstream file("aaa.txt");
  8.  double sum=0;
  9.  string s;
  10.  int i;
  11.  //char ch[100];
  12.  while(getline(file,s))
  13.  {
  14.   if(s[0]=='#') break;
  15.   for(i=0;s[i]!='\0';i++)
  16.     if(s[i]!=' ') sum = sum+i*(s[i]-64);
  17.   cout<<sum<<endl;
  18.   sum=0;
  19.  
  20.  }
  21.  return 0;
  22. }


你可能感兴趣的:(STL_ACM)