c++鸡蛋

1001.鸡蛋(课程E)

题目描述

一天白雪公主来到超市为七个小矮人买鸡蛋,这里的鸡蛋都包装在篮子里,每个篮子的鸡蛋数都不相同。这些篮子排成一行,白雪公主要买其中连续的一段。不过为了每个小矮人分的鸡蛋数一样,有一个条件:这连续一段篮子的鸡蛋数的和要能被7整除。

现在知道n个篮子的每一个里面鸡蛋数,问白雪公主有多少种购买方案?

输入格式

第一行2个正整数:N,范围在[1,100000]。

第二行N个正整数:范围在[1,100]。

输出格式

一个整数。

输入/输出例子1

输入:

5

8 6 2 7 9

输出:

2

程序

#include<bits/stdc++.h>

using namespace std;

long long a[100001],b[11],n;

int s,h;

int main()

{

cin>>n;//输入n

for(int i=1;i<=n;i++)

{

cin>>a[i];//输入数组

a[i]=a[i-1]+a[i];//前缀和

a[i]%=7;//求出树中的余数

b[a[i]]++;//每个a[i]%余数后的数用于作下标 ,b[i]是用来统计的一个数组

}

s=b[0];//把s赋值为b[0]

for(int i=0;i<8;i++)

{

s+=b[i]*(b[i]-1)/2;

}

cout<<s;

return 0;

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值