1012 数字分类(20分)

简介: 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1​ = 能被 5 整除的数字中所有偶数的和;A2​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1​−n2​+n3​−n4​⋯;A3​ = 被 5 除后余 2 的数字的个数;A4​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5​ = 被 5 除后余 4 的数字中最大数字。

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:


  • A1 = 能被 5 整除的数字中所有偶数的和;
  • A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯;
  • A3 = 被 5 除后余 2 的数字的个数;
  • A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • A5 = 被 5 除后余 4 的数字中最大数字。

输入格式:

每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。

输出格式:

对给定的 N 个正整数,按题目要求计算 A1~A5 并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。

若分类之后某一类不存在数字,则在相应位置输出 N

输入样例 1:

13 1 2 3 4 5 6 7 8 9 10 20 16 18

输出样例 1:

30 11 2 9.7 9

输入样例 2:

8 1 2 4 5 6 7 9 16

输出样例 2:

N 11 2 N 9

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

代码如下:

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
  int n;
  int number;//每次输入的数字
  cin >> n;
  int a1 = 0, a2 = 0, flag2 = 0, a3 = 0, a5 = 0;
  int a[6] = { 0 };//计数器
  double a4 = 0;
  for (int i = 0; i < n; i++) {
    cin >> number;
    int t = number % 5;
    switch (t)
    {
    case 0:
      if (number % 2 == 0) {
        a1 += number;
        a[1]++;
      }
      break;
    case 1:
      if (flag2 == 0) {
        a2 += number;
        flag2 = 1;
      }
      else {
        a2 -= number;
        flag2 = 0;
      }
      a[2]++;
      break;
    case 2:
      a3++;
      a[3]++;
      break;
    case 3:
      a4 += number;
      a[4]++;
      break;
    case 4:
      if (number > a5) {
        a5 = number;
        a[5]++;
      }
      break;
    default:
      break;
    }
  }
  if (a1)
    cout << a1;
  else
    cout << "N";
  if (a[2])
    cout << " " << a2;
  else
    cout << " N";
  if (a[3])
    cout << " " << a[3];
  else
    cout << " N";
  if (a[4])
    cout << " " << setiosflags(ios::fixed) << setprecision(1) << a4 / a[4];
  else
    cout << " N";
  if (a[5])
    cout << " " << a5;
  else
    cout << " N";
  return 0;
}
相关文章
|
传感器 5G UED
5G 标准化进程|带你读《5G空口特性与关键技术》之二
从 2016 年起,3GPP 启动了 R14 研究项,目标是在 2020 年实现 5G 的商业化部署。为此,3GPP 采取了按阶段定义规范的方式。第一阶段目标是R15,旨在完成规范 5G 的有限功能。第二阶段是 R16,旨在完成规范 IMT-2020 所定义的所有功能,将于 2019 年年底到 2020 年完成。
5G 标准化进程|带你读《5G空口特性与关键技术》之二
|
11月前
|
存储 人工智能 搜索推荐
如何打造更懂表格的智能体
察言观数 AskTable 给了回答,并非简单地将大型语言模型(LLM)直接连接到数据库,相反构建了一套严谨、可靠且高效的智能体(Agent)系统。其核心思想是:让 AI 发挥其所长,并将其置于一个可控、可验证的“笼子”里。确保数据分析准确、稳定、无幻觉。支持即时问答与深度探索,配备三层记忆系统与双重评估体系,让AI真正懂业务、可追溯、能进化。
582 155
|
12月前
|
机器学习/深度学习 人工智能 监控
淘宝 API 助力,天猫店铺商品上下架智能管理
在电商竞争激烈的环境下,天猫商家通过淘宝开放平台API实现商品上下架自动化,结合智能算法提升管理效率,优化库存与销售,减少人工错误,提高运营效率与市场竞争力。
|
API 开发者 Python
淘宝API系列:淘宝商品优惠信息API接口详解
本文介绍了如何通过淘宝开放平台调用商品优惠券API接口,包含注册开发者账号、创建应用、使用item_search_coupon接口查询优惠券信息及数据字段说明。提供Python请求示例,适用于电商促销管理与用户优惠策略实现。
|
传感器 人工智能 安全
数字孪生技术:智能建筑的新纪元
数字孪生技术通过虚拟环境中的数字模型,实现建筑的实时监测、模拟和优化,结合物联网、大数据、云计算和AI,提升建筑设计、施工、运营及应急管理的智能化水平,引领建筑行业进入新时代。
|
机器学习/深度学习 编解码 负载均衡
MoH:融合混合专家机制的高效多头注意力模型及其在视觉语言任务中的应用
本文提出了一种名为混合头注意力(MoH)的新架构,旨在提高Transformer模型中注意力机制的效率。MoH通过动态注意力头路由机制,使每个token能够自适应选择合适的注意力头,从而在减少激活头数量的同时保持或提升模型性能。实验结果显示,MoH在图像分类、类条件图像生成和大语言模型等多个任务中均表现出色,尤其在减少计算资源消耗方面有显著优势。
691 1
|
网络协议 网络架构
配置PIM-DM示例
本文介绍了在用户密集的小型网络中,通过配置PIM-DM协议实现组播数据传输的方案。网络中Client主机需接收Server发送的组播信息,配置思路包括:1) 配置路由器接口IP与单播路由协议;2) 启用组播路由功能;3) 在所有接口上启用PIM-DM;4) 在主机侧接口启用IGMP维护组成员关系。具体操作步骤涵盖IP、OSPF配置及验证,最终通过VLC播放验证组播服务器内容成功传输至客户端。
配置PIM-DM示例
|
安全 Java 数据库
短信群发工具免费中文版,短信批量群发工具自动,autojs群发短信版
本文将详细介绍如何使用AutoJS开发一个功能完善的短信批量群发工具,包含完整的代码实现和关键功能模块
|
监控 NoSQL 算法
探秘Redis分布式锁:实战与注意事项
本文介绍了Redis分区容错中的分布式锁概念,包括利用Watch实现乐观锁和使用setnx防止库存超卖。乐观锁通过Watch命令监控键值变化,在事务中执行修改,若键值被改变则事务失败。Java代码示例展示了具体实现。setnx命令用于库存操作,确保无超卖,通过设置锁并检查库存来更新。文章还讨论了分布式锁存在的问题,如客户端阻塞、时钟漂移和单点故障,并提出了RedLock算法来提高可靠性。Redisson作为生产环境的分布式锁实现,提供了可重入锁、读写锁等高级功能。最后,文章对比了Redis、Zookeeper和etcd的分布式锁特性。
1262 16
探秘Redis分布式锁:实战与注意事项
|
存储 C语言
数据结构基础详解(C语言): 树与二叉树的应用_哈夫曼树与哈夫曼曼编码_并查集_二叉排序树_平衡二叉树
本文详细介绍了树与二叉树的应用,涵盖哈夫曼树与哈夫曼编码、并查集以及二叉排序树等内容。首先讲解了哈夫曼树的构造方法及其在数据压缩中的应用;接着介绍了并查集的基本概念、存储结构及优化方法;随后探讨了二叉排序树的定义、查找、插入和删除操作;最后阐述了平衡二叉树的概念及其在保证树平衡状态下的插入和删除操作。通过本文,读者可以全面了解树与二叉树在实际问题中的应用技巧和优化策略。
756 2