PAT(Basic level)Practice 1012 数字分类 题解

2023-10-26

1012 数字分类 (20分)

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

  • A 1 A_1 A1 = 能被 5 整除的数字中所有偶数的和;
  • A 2 A_2 A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n 1 − n 2 + n 3 − n 4 n_1−n_2+n_3−n_4 n1n2+n3n4⋯;
  • A 3 A_3 A3 = 被 5 除后余 2 的数字的个数;
  • A 4 A_4 A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • A 5 A_5 A5 = 被 5 除后余 4 的数字中最大数字。

输入格式:

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

输出格式:

对给定的 N N N 个正整数,按题目要求计算 A 1 A_1 A1~ A 5 A_5 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

解题思路

  • 按照题目模拟即可

AC代码

#include <iostream>
#include <iomanip>

using namespace std;

double A[6] = {0};
bool judge[6];

int main()
{

	int N, A2N = 1, A4N = 0;
	cin >> N;

	while (N--)
	{
		int temp;
		cin >> temp;

		if (!(temp % 10))
		{
			A[1] += temp;
			judge[1] = true;
		}
		else if (temp % 5 == 1)
		{
			judge[2] = true;
			A[2] += A2N * temp;
			A2N *= -1;
		}
		else if (temp % 5 == 2)
		{
			A[3]++;
			judge[3] = true;
		}
		else if (temp % 5 == 3)
		{
			judge[4] = true;
			A4N++;
			A[4] += temp;
		}
		else if (A[5] < temp)
		{
			A[5] = temp;
			judge[5] = true;
		}
	}

	for (int i = 1; i < 6; ++i)
		if (i == 4)
			if (judge[4])
				cout << fixed << setprecision(1) << A[4] / A4N << ' ';
			else
				cout << "N ";
		else if (i != 5)
			if (judge[i])
				cout << fixed << setprecision(0) << A[i] << ' ';
			else
				cout << "N ";
		else
			if (judge[i])
				cout << fixed << setprecision(0) << A[i] << '\n';
			else
				cout << "N\n";

	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PAT(Basic level)Practice 1012 数字分类 题解 的相关文章

  • Windows Server / Datacenter:设置 CPU 关联性 > 64 个核心

    SetThreadAffinityMask 允许为 64 个逻辑核心 处理器 设置关联掩码 但是 Windows Datacenter 最多可以有 64 个 CPU 每个 CPU 都有多个内核 请参阅here http social tec
  • C# 按下按钮时跳出循环

    我有一个简单的 C foreach 循环 如何在按下按钮时跳出循环 它不在backgroundWorker线程中 所以我不能使用backgroundWorker Cancellation Pending 在表单中创建一个布尔标志 将事件处理
  • 是否已经有一些基于 std::vector 的 set/map 实现?

    对于小型集合或地图 通常使用排序向量而不是基于树的向量要快得多set map 特别是对于 5 10 个元素的情况 LLVM 有一些类本着这种精神 http llvm org docs ProgrammersManual html ds se
  • 从对象中获取类型正在返回运行时类型[重复]

    这个问题在这里已经有答案了 我有一个简单的功能 public string getType object obj Type type obj getType return type FullName 如果您在运行时创建的字符串对象上使用此函
  • 正确别名向量

    我无法在其他地方找到答案 所以我想我只需要问这个 我正在尝试获取向量 其中存储 int 指针 的别名 如下所示 void conversion Engine ENGINES The Engine class has a vector of
  • EWS 消息跟踪报告

    我一直在研究如何使用 EWS 从交换中获取消息跟踪报告 但似乎无法查明任何内容 我打算构建一个抓取日志文件的应用程序 但如果我可以通过 EWS 来完成它 那对我正在做的事情会更好 有任何想法吗 我终于能够为我的问题创建一个解决方案 我在 C
  • 如何设置属性选择器的值 Expression>

    我需要使用模式工厂的想法将 Person 类实体中的实体属性 Address 与 FactoryEntities 类中的表达式 linq 相关联 看看这就是我所拥有的并且我想要做的 Address address new Address a
  • 有没有一种方法可以在不测试整个应用程序的情况下对类库(通用 Windows)进行单元测试?

    我需要进行单元测试Class Library Universal Windows 但是从 添加新项目 窗口中 我只看到了这一点 该项目使用应用程序容器运行所有测试 它始终打开一个应用程序 由于我不需要所有这些开销 我想知道是否有一种方法可以
  • cuda中有模板化的数学函数吗? [复制]

    这个问题在这里已经有答案了 我一直在寻找 cuda 中的模板化数学函数 但似乎找不到 在普通的 C 中 如果我调用std sqrt它是模板化的 并且将根据参数是浮点数还是双精度数执行不同的版本 我想要这样的 CUDA 设备代码 我的内核将真
  • 验证仅适用于数组的第一项

    给定这个模型代码 Required Display Name Name public string Name get set 以下查看代码有效 Html LabelFor model gt model Name Html TextBoxFo
  • 更改子进程中的 iostream

    现在 我正在开发一个项目 其中我需要启动一个子进程来使用 C 在 Linux 中执行一个新程序 并且我需要重定向标准输入和输出 就像在 C 中一样 它们是cin and cout 到一个文件 这意味着在子进程中 标准输入和输出都是文件 子进
  • C# SerialPort BaseStream ReadAsync - CancellationToken 从未取消?

    我尝试以异步方式从串行端口读取数据 请记住操作所花费的时间不得超过指定的时间段 我使用的代码 private async Task
  • 产量回报延迟迭代问题

    我知道yield return 利用了延迟加载 但我想知道我是否可能滥用迭代器或者很可能需要重构 我的递归迭代器方法返回给定的所有祖先PageNode包括pageNode itself public class PageNodeIterat
  • 使用本地系统帐户运行时,GetAccessControl 方法失败,出现意外错误代码 3

    我已经创建了 Windows 服务并使用本地系统帐户运行它 该服务正在读取用户文件并查找其所有者 在获取文件的访问权限以查找所有者时 它抛出以下异常 方法失败 出现意外错误代码 3 StackTrace 在 System Security
  • 使用C#在SQL Server上执行sql文件

    我有很多程序 视图 函数等文件 我想在 SQL Server 2005 2008 上的适当数据库中执行这些文件 创建组件 还有一点是我想使用 C 来执行它们 另一点需要提及的是 我希望应用程序也可以在远程 SQL Server 上执行此文件
  • 对 MFC UI 应用程序进行单元测试吗?

    如何对大型 MFC UI 应用程序进行单元测试 我们有一些大型 MFC 应用程序已经开发了很多年 我们使用一些标准的自动化 QA 工具来运行基本脚本来检查基础知识 文件打开等 这些由 QA 小组在日常构建后运行 但我们希望引入一些程序 以便
  • C# - 平移光标

    我正在 PictureBox 控件中实现大图像的平移 并且设置适当的方向平移光标没有问题 但是 我似乎找不到用于平底锅原点的图像 内部带有箭头的圆圈 我在哪里可以找到它 我觉得image您正在寻找的内容未包含在框架中 每个应用程序都使用自己
  • 虚拟键盘(类似 Swype 键盘)Windows 窗体应用程序 C#

    我正在尝试使用 c 在 Windows 窗体中创建一个类似 swype 的键盘 我有两个问题 A 我无法重现手指滑动动作 b 我无法识别不同按键下的字母 对于第一个问题 我使用了 Graphics 类和 Pen 类 并像这样使用它 bool
  • 为什么我能够使用无效的类指针进行函数调用

    在下面的代码片段中 虽然指针未初始化 但调用仍然成功 temp ptr ptr gt func2 是C 语言特性的问题 还是VC 6编译器的作弊 class temp public temp a 9 int func1 return a b
  • 我该怎么做才能完全关闭与mcu的tcpClient连接?

    我现在正在研究与 ESP32 中运行的 tcp 服务器的 tcp 套接字连接 通信工作正常 但我无法关闭连接 在搜索关闭 重置 tcpClient 上的解决方案后 似乎关闭 tcpClient 的正确方法应该是 tcpClient GetS

随机推荐

  • 分布式事务学习总结

    1 基础概念 1 1 什么是事务 事务可以看做是一次大的活动 它由不同的小活动组成 这些活动要么全部成功 要么全部失败 1 2 本地事务 在计算机系统中 更多的是通过关系型数据库来控制事务 这是利用数据库本身的事务特性来实现的 因此叫数据库
  • echarts报错:Error in mounted hook: “TypeError: Cannot read properties of undefined (reading ‘init‘)“

    echarts安装创建图表时报这种错误 Error in mounted hook TypeError Cannot read properties of undefined reading init 1 具体报错内容 2 解决办法 原先大
  • Java基本数据类型

    Java中有以下几种基本数据类型 这些类型都是值类型 类型 值范围 大小 范围 boolean true或false 1位 char Unicode字符 16位 u0000 uFFFF byte 有符号整数 8位 128 127 short
  • [Linux打怪升级之路]-环境变量

    前言 作者 小蜗牛向前冲 名言 我可以接受失败 但我不能接受放弃 如果觉的博主的文章还不错的话 还请点赞 收藏 关注 支持博主 如果发现有问题的地方欢迎 大家在评论区指正 目录 一 认识环境变量 二 获取环境变量的三种方法 1 通过gete
  • 贝叶斯分类器(贝叶斯决策论,极大似然估计,朴素贝叶斯分类器,半朴素贝叶斯分类器,贝叶斯网)学习笔记

    贝叶斯分类器 贝叶斯决策论 极大似然估计 朴素贝叶斯分类器 半朴素贝叶斯分类器 贝叶斯网 学习笔记 一 条件概率 全概率公式 贝叶斯公式 二 贝叶斯决策论 贝叶斯决策论是概率框架下实施决策的基本方法 对分类任务来说 在所有相关概率都已知的理
  • wsl2 网络代理设置

    在 WSL2 环境中 clone 一个很大的 git 项目 不走代理速度很慢 所以研究了一下怎么让 WSL2 走 Windows 的代理客户端 WSL1 和 WSL2 网络的区别 在 WSL1 时代 由于 Linux 子系统和 Window
  • Android开发 retrofit入门讲解 (RxJava模式)

    Android开发 retrofit入门讲解 RxJava模式 前言 retrofit除了正常使用以外 还支持RxJava的模式来使用 此篇博客讲解如何使用RxJava模式下的retrofit 依赖 implementation com s
  • 极光笔记

    作者 极光推送后台技术专家 曾振波 为什么要上云 关于企业上云 业内已经有了非常多的讨论和论述 这里主要是从极光自身的实际情况阐述几个理由 1 传统自建机房在扩充底层软硬件资源时 需要进行选型 采购 参数测试验证 实施部署等流程 整个过程需
  • jupyter 魔法命令

    Jupyter NoteBook 是功能强大的Python交互IDE 深受数据分析师和算法工程师的热爱 Jupyter NoteBook 在综合使用文字 代码 图片等多种元素展示设计者的想法方面有着美妙的用户体验 而其自带的一些常用Magi
  • 【项目实战】springboot+uniapp基于微信小程序铁路订票小程序-源码+数据库+文档报告

    注意 该项目只展示部分功能 如需了解 评论区咨询即可 本文目录 1 开发环境 2 系统设计 2 1 设计背景 2 2 设计内容 3 系统页面展示 3 1 前台页面 3 2 后台页面 3 3 功能展示视频 4 更多推荐 5 部分功能代码 1
  • Makefile的编译方式

    Makefile 使用GCC的命令进行程序编译时 当程序是单个文件时编译是比较方便的 但当工程中的文件数目增多 甚至非常庞大 并且目录结构关系复杂时 便需要通过makefile来进行程序的编译 示例 目录MakeFile Demo下有三个文
  • CSS

    一 是什么 css 即层叠样式表 Cascading Style Sheets 的简称 是一种标记语言 由浏览器解释执行用来使页面变得更美观 css3是css的最新标准 是向后兼容的 CSS1 2的特性在CSS3 里都是可以使用的 而CSS
  • 嵌入式零树小波EZW编码及其算法改…

    在基于小波变换的图象压缩方案中 嵌入式零树小波 EZW Embedded Zerotree Wavelets 1 编码很好地利用小波系数的特性使得输出的码流具有嵌入特性 近年来 在对EZW改进的基础上 提出了许多新的性能更好的算法 如多级树
  • nohup command 2>&1 &的解释

    nohup的作用是让命令永久执行 哪怕当前终端已经退出登录 而 的作用是后台执行 因此 nohup command 的意思是 永久执行command 并且是在后台执行 至于2 gt 1的作用 在bash shell中 0代表标准输入 一般是
  • Java 退出循环的几种方式

    第一种 使用break退出正在循环的循环 while true break 第二种 对循环命名 使用break退出指定循环 loop while true while true break loop 第三种 使用System exit 0
  • 抖音seo矩阵系统源码开发技术

    抖音seo矩阵系统源码开发技术要求十分严格 首先 需要熟练掌握Python Java等编程语言 具有扎实的算法基础 在此基础上 还需要具备深度学习 神经网络等相关技能 能够实现精准推荐和内容分析等功能 其次 抖音seo矩阵系统开发还需要专业
  • shell脚本冒泡排序法——排列数组的从大到小和从小到大(有详细解释)

    文章目录 一 冒泡排序基础 1 2冒泡排序 1 2基本思想 1 3算法思路 1 4冒泡排序案例图解 二 实际操作 2 1升序 2 2升序 一 冒泡排序基础 1 2冒泡排序 类似于气泡上升的动作 会将数据在数组中从大到小或者从小到大不断地向前
  • Redis介绍

    一 简介 Redis是互联网技术领域使用最为广泛的存储中间件 它是 Remote Dictionary Service 远程字典服务 的首字母缩写 由意大利人Salvatore Sanfilippo 网名 Antirez 开发 默认端口 6
  • 用分治算法求一组数中的最大值、最小值问题

    一 求一个最大值 最小值 1 解题思路 1 将数据等分为两组 两组数据可能差1 目的是分别选取其中的最大 小 值 2 递归分解直到每组元素的个数 2 可简单地找到最大 小 值 3 回溯时 在分解的两组解中大者取大 小者取小 合并为当前问题的
  • PAT(Basic level)Practice 1012 数字分类 题解

    1012 数字分类 20分 给定一系列正整数 请按要求对数字进行分类 并输出以下 5 个数字 A 1 A 1 A1 能被 5 整除的数字中所有偶数的和 A