问题标题: 酷町堂:1170   等值首尾和(add)

0
0
已解决
张睿杰
张睿杰
初级天翼
初级天翼

1170   等值首尾和(add)

题目描述 Description

正在上一年级的小卡卡最近开始学习数的加法运算,一天老师为了测试大家对加法的掌握情况,让同学们做了一个有趣的游戏。老师在黑板上从左到右写下了n个大于零的整数,老师接下来找出n个同学完成下面的计算任务。第一个同学在黑板上抄下最左边的数字,第二个同学负责将第一个同学写下的数字,加上老师写下的左边第二个数字所得到的数写在了黑板上。以此类推,第m个同学将前面第m-1个同学所写下的数字加上老师在黑板上写下的从左边数的第m个数字所得之和,并将结果写到黑板上。当计算完成这n个数字之后,老师又让同学从最右边开始按相同的方法再次计算出n个数值。最后老师让同学们找出这所有数字当中共有多少个是相同的。 例如:老师在黑板上写下了7个数,从左到右依次为:3,6,2,1,4,5,2,则同学们第一次从左边开始计算所得到的7个数值应该是:3,9,11,12,16,21,23;而第二次从右边开始计算所得到的7个数值应该是:2,7,11,12,14,20,23;于是第一次与第二次计算出的数值中相同的有3个,它们分别是:11、12与23。

输入描述 Input Description

共两行,第一行为n(1<n<100),第二行为n个数,用空格隔开,每个数的大小在0~200之间。

输出描述 Output Description

第一次与第二次计算出的数值中相同的个数

样例输入 Sample Input

 

7
3 6 2 1 4 5 2

样例输出 Sample Output

 

3

数据范围及提示 Data Size & Hint

数据范围:
50%的数据 1<n<50。
100%的数据 1<n<100。


0
已采纳
李乐凡
李乐凡
新手光能
新手光能

 

for(i=0;i<n;i++) cin>>a[i];

 

b[0]=a[n-1];

 

for(i=1;i<n;i++) b[i]=b[i-1]+a[n-i-1];

 

for(i=1;i<n;i++)a[i]+=a[i-1];

 

for(i=0;i<n;i++)

 

for(j=0;j<n;j++)

 

if(a[i]==b[j])

 

t++;

 

cout<<t<<endl;

0
0
0
臧启亚
臧启亚
初级光能
初级光能

核心代码如下:

  for(i=0;i<n;i++) cin>>a[i];
  b[0]=a[n-1];
  for(i=1;i<n;i++) b[i]=b[i-1]+a[n-i-1];
  for(i=1;i<n;i++)a[i]+=a[i-1];
  for(i=0;i<n;i++)
    for(j=0;j<n;j++)
      if(a[i]==b[j])
  t++;
cout<<t<<endl;

 

0
梁锦程
梁锦程
高级光能
高级光能
f[0]=a[n-1];
for(i=1;i<n;i++)
    f[i]=f[i-1]+a[n-i-1];
for(i=1;i<n;i++)
    a[i]+=a[i-1];
for(i=0;i<n;i++)
    for(j=0;j<n;j++)
        if(a[i]==f[j])
            t++;
cout<<t<<endl;

 

0
杨陈卓
杨陈卓
新手天翼
新手天翼

你去做1279吧

那一题和这一题一样

这一题做不到满分,只能做到70分。

0
芮奥运
芮奥运
高级光能
高级光能

这题最高分80分

你去做1279吧

用1170的70分就能满分

0
夏子健
夏子健
初级光能
初级光能

这题测试点有错,老师出了1279题来检验,你把你的代码放到1279测评,如果100分,你就做对了

我要回答