为了账号安全,请及时绑定邮箱和手机立即绑定

关于下面的要求:第一行为正整数n(<100),第二行为n个正整数ai(<200)

关于下面的要求:第一行为正整数n(<100),第二行为n个正整数ai(<200)

一只甜甜圈 2022-05-12 14:11:10
问题描述:在黑板上从左到右有n个正整数,先从左向右依次计下累加和,再从右向左依次计下累加和,找出这所有累加和中共有多少个是相同。例如:有7个数,从左到右依次为:3,6,2,1,4,5,2,从左向右的累加和为:3,9,11,12,16,21,23;而从右向左的的累加和为:2,7,11,12,14,20,23;有3个值相同,它们分别是:11、12与23。输入格式:第一行为正整数n(<100),第二行为n个正整数ai(<200)。输出格式:一个整数表示相同的值个数。输入样例输出样例73 6 2 1 4 5 23
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞


#include <iostream> #include <algorithm> #include <vector> #include <malloc.h> #include <stdio.h> using namespace std; vector <int> num; int *pUnion=(int *)malloc(sizeof(int) *200000); int i; int count_number; int main() {     scanf("%d",&i);     for(int j=0; j<i; j++)     {         int number;         scanf("%d",&number);         num.push_back(number);         *(pUnion+j)=number;     }     sort(pUnion,pUnion+i-1);     sort(num.begin(),num.end());     int *pEnd=unique(pUnion,pUnion+i-1);     int jian_ge=pEnd-pUnion;     while(pUnion!=pEnd)     {         count_number=count(num.begin(),num.end(),*pUnion);         printf("%d %d\n",*pUnion,count_number);         pUnion++;     }     return 0; }



查看完整回答
反对 回复 2022-05-16
  • 1 回答
  • 0 关注
  • 307 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号