为什么会Output Limit Exceed

by admin on 2020年1月20日

checksum是扫描一个数据包并返回一个数值的一种算法。其思路在于,如果数据包被修改过,那么,checksum也会立即变化。所以,checksum常常用于侦查数据传输错误,证实文档内容的完整性和其他需要检查数据不被修改的场合。
在本题中,你将实现一个 checksum算法即 Quicksum。一个
Quicksum数据包仅允许包含大写字母和空格,它通常是由一个大写字母开始和结束。然而,空格和字母可以出现在其他的位置中,连续的空格也是允许的。
Quicksum是一行字符串(数据包)中每个字符的位置与该字符的值的乘积之和。空格的值是
0,字母的值等于它在字母表中的位置。所以,A的值是 1,B 的值是
2,依此类推,Z 的值是 26。下面两个例子是求“ACM”和“CHINA”的 Quicksum:
ACM: 1*1 + 2*3 + 3*13 = 46
CHINA: 1*3 + 2*8 + 3*9 + 4*14 + 5*1 = 107

print?Quicksum
数据只由26个大写字母和空格组成,并且一定由大写字母开始和结束.
除此之外,它可以任意组合,包括出现连续空格。  
 
Quicksum 是每个字母位置和字母值乘积的总和。空格的值为0,
字母的值按照字母表次序,比如A=1, B=2, etc.下面是 “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 
 
 
Input 
 
 
测试数据包含多组数据 输入是以#号结束  
每组数据占一行, 不是以空格结束, 每行最多了255字符 且只有字母或者空格. 
 
 
Output 
 
对于每组数据,独立一行输出它的Quicksum。 
 
  

print?Description 
 
给定n个正整数,根据各位数字之和从小到大进行排序。  
 
Input 
 
 
输入数据有多组,每组数据占一行,每行的第一个数正整数n(1<=n<=20),表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。 
 
 
Output 
 
输出每组排序的结果。 
 
Sample Input 
 
 
2 1 2 
3 121 10 111 

 
Sample Output 
 
 
1 2 
10 111 121 

Input

Quicksum 数据只由26个大写字母和空格组成,并且一定由大写字母开始和结束.
除此之外,它可以任意组合,包括出现连续空格。

Description

输入数据包含一个或多个数据包。每个数据包占一行,不能以空格开始或结束,包含
1~255 个字符。

Quicksum 是每个字母位置和字母值乘积的总和。空格的值为0,
字母的值按照字母表次序,比如A=1, B=2, etc.下面是 “ACM”和”MID
CENTRAL”计算Quicksum的例子:

给定n个正整数,根据各位数字之和从小到大进行排序。

Output

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

Input

对于每个数据包,在每一行上输出计算它的 Quicksum的数学表达式。

Input

输入数据有多组,每组数据占一行,每行的第一个数正整数n(1<=n<=20),表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。

Sample Input

测试数据包含多组数据 输入是以#号结束
每组数据占一行, 不是以空格结束, 每行最多了255字符 且只有字母或者空格.

Output

A C M

Output

输出每组排序的结果。

Sample Output

对于每组数据,独立一行输出它的Quicksum。

Sample Input

A C M:1*1+2*0+3*3+4*0+5*13=75我的代码#include <iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int main()
{
    char s[]=” ABCDEFGHIJKLMNOPQRSTUVWXYZ”, a[255];
    int i,j,length;
    long sum;
    loop:
       cin.getline(a,255);
        length=strlen(a);
      if(a[0]==’ ‘||a[length-1]==’ ‘) return 0;
       cout<<a<<‘:’;
        for(sum=0,i=0;i<=length;i++)
        {
            for(j=0;j<=26;j++)
             {
                if(a[i]==s[j])
                 {    cout<<i+1<<‘*'<<j;
                      sum+=(i+1)*j; break;  }
             }
        if(i<length-1) cout<<‘+’;
        }
        cout<<‘='<<sum<<endl;        goto loop;

 

 
[plain]
#include <stdio.h> 
#include <string.h> 
 
int main() 

    int i; 
    int num; 
    int sum; 
    char str[255]; 
 
    while(gets(str),str[0]!= ‘#’) 
    { 
       sum= 0; 
       num=strlen(str); 
 
       for(i=0; i<num; i++) 
       { 
          if(str[i]==’ ‘) 
          { 
              sum+=0; 
          } 
          else if(str[i]>=’A’ && str[i]<= ‘Z’) 
          { 
              sum+=(i+1)*(str[i]-‘A’+1); 
          } 
       } 
 
       printf(“%dn”, sum); 
    } 

2 1 2
3 121 10 111
0

#include <stdio.h>
#include <string.h>

Sample Output

int main()
{
    int i;
 int num;
 int sum;
 char str[255];

1 2
10 111 121
 

 while(gets(str),str[0]!= ‘#’)
 {
       sum= 0;
    num=strlen(str);

[plain]  #include<stdio.h> 
 
int get(int num); 
 
int main() 

int j,i,n,a[21],c; 
      
        while(1) 
        { 
            scanf(“%d”,&n); 
            if(n==0) 
            { 
                break;       
            } 
 
            for(i=0;i<n;i++) 
            { 
                scanf(“%d”,&a[i]); 
             
            } 
            for(i=0; i<n-1; i++) 
            { 
                for(j=i+1; j<n; j++)  
                { 
                    if(get(a[i])> get(a[j])) 
                    { 
                      c=a[i]; 
                      a[i]=a[j]; 
                      a[j]=c; 
                    } 
                } 
            } 
            for(i=0;i<n;i++) 
            { 
                printf(“%d”, a[i]); 
                if(i<n-1) 
                { 
                    printf(” “); 
                } 
            } 
                printf(“n”); 
        } 
 
     return 0; 

 
int get(int num) 

   int sum=0; 
 
   while(num) 
   { 
       sum+=num%10; 
       num/=10; 
   } 
 
   return sum; 

    for(i=0; i<num; i++)
    {
       if(str[i]==’ ‘)
    {
           sum+=0;
    }
    else if(str[i]>=’A’ && str[i]<= ‘Z’)
    {
        sum+=(i+1)*(str[i]-‘A’+1);
    }
    }

#include<stdio.h>

    printf(“%dn”, sum);
 }

int get(int num);

 

int main()
{
int j,i,n,a[21],c;
 
  while(1)
  {
   scanf(“%d”,&n);
   if(n==0)
   {
             break;  
   }

图片 1

   for(i=0;i<n;i++)
   {
    scanf(“%d”,&a[i]);
   
   }
   for(i=0; i<n-1; i++)
   {
    for(j=i+1; j<n; j++)
    {
     if(get(a[i])> get(a[j]))
     {
       c=a[i];
       a[i]=a[j];
       a[j]=c;
     }
    }
   }
   for(i=0;i<n;i++)
   {
    printf(“%d”, a[i]);
    if(i<n-1)
    {
     printf(” “);
    }
   }
    printf(“n”);
  }

数据只由26个大写字母和空格组成,并且一定由大写字母开始和结束.
除此之外,它可以任意组合,包括出现连续空格。 Quicksu…

     return 0;
}

int get(int num)
{
   int sum=0;

   while(num)
   {
       sum+=num%10;
    num/=10;
   }

   return sum;
}
  

 图片 2
 

 

给定n个正整数,根据各位数字之和从小到大进行排序。 Input
输入数据有多组,每组数据占一行,每行的第一个数正整数n(1=…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图