问题标题: 酷町堂:1279

0
0
已解决
胡景轩
胡景轩
资深守护
资深守护

题目链接: 酷町堂:1279

#include<iostream>
using namespace std;
int n,cnt;
int a[105];
int f[105];
int f2[105];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    f[1]=a[1];
    for(int i=2;i<=n;i++){
        f[i]=a[i]+f[i-1];
    }
    f2[1]=a[n];
    int l=n-1;
    /*
    7
    3 6 2 1 4 5 2

    2 7 11 12 14 20 23 
    */
    for(int i=2;i<=n;i++){
        f2[i]=a[l]+f2[i-1];
        l--;
    }
    for(int i=1;i<=n;i++){
        //cout<<f[i]<<" "<<f2[i]<<endl;
        if(f[i]==f2[i]){
            cnt++;
        }
    }
//      for(int i=1;i<=n;i++){
//        cout<<f[i]<<" ";
//    }
//    cout<<endl;
//    for(int i=1;i<=n;i++){
//      cout<<f2[i]<<" ";
//  }
//  cout<<endl;
    cout<<cnt;
    return 0;
}

题目描述 De**ion

正在上一年级的小卡卡最近开始学习数的加法运算,一天老师为了测试大家对加法的掌握情况,让同学们做了一个有趣的游戏。老师在黑板上从左到右写下了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。


0
已采纳
周炜骐
周炜骐
中级光能
中级光能

它让你找一共几个相同的

我要回答