1012. 数字分类 java_PAT 乙级 1012.数字分类 C++/Java

该博客介绍了PAT乙级1012题目的数字分类问题,涉及如何对一系列正整数按模5分类,计算特定条件下的数字和、个数、平均数及最大值。通过C++和Java实现,强调了处理边界情况和数组越界问题的重要性。
摘要由CSDN通过智能技术生成

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

A​1​​ = 能被 5 整除的数字中所有偶数的和;

A​2​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n​1​​−n​2​​+n​3​​−n​4​​⋯;

A​3​​ = 被 5 除后余 2 的数字的个数;

A​4​​ = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;

A​5​​ = 被 5 除后余 4 的数字中最大数字。

输入格式:

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

输出格式:

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

若其中某一类数字不存在,则在相应位置输出 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

分析:

对输入的每个数字num进行mod 5,将得到的值存放在下标为 num % 5的数组中,每次添加一个数

然后分别对每个数组中保存的数字进行处理

C++实现:

#include

#include

#include

using namespace std;

bool myCmp(int a, int b)

{

return a > b;

}

//数字分类

int main()

{

// a mod 5最大值为4

int A1 = ; //被 5 整除的数字中,偶数的和

int A2 = ; //将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1 - n2 + n3 - n4...

int A3 = ; //被 5 除后余 2 的数字的个数

double A4 = ; //被 5 除后余 3 的数字的平均数,精确到小数点后 1 位

int A5 = ; //被 5 除后余 4 的数字中最大数字 - 排序即可

int N;

cin >> N;

vector > vec(, vector());

int temp;

for (int i = ; i < N; ++i)

{

cin >> temp;

vec[temp % ].push_back(temp);

}

//求A1;

int len = vec[].size();

for (int i = ; i < len; ++i)

{

if (vec[][i] % == )

{

A1 += vec[][i];

}

}

//求A2

len = vec[].size();

if (len != )

{

for (int i = ; i < len; ++i)

{

if (i % == )

{

//数组中的第偶数项,取负数 a[1], a[3], a[5]

// n1 - n2 + n3 - n4

// 相当于a[0] - a[1] + a[2] - a[3];

vec[][i] *= -;

}

A2 += vec[][i];

}

}

//求A3

A3 = vec[].size();

//求A4

if (vec[].size() != )

{

for (int i = ; i < vec[].size(); ++i)

{

A4 += vec[][i];

}

A4 /= vec[].size();

}

//求A5

if (vec[].size() != )

{

sort(vec[].begin(), vec[].end(), myCmp);

A5 = vec[][];

}

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

{

if (i != )

{

cout << " "; //控制空格输出

}

if (i == && A1 == || i != && vec[i].size() == )

{

cout << "N";

continue;

}

if (i == )

{

cout << A1;

}

else if (i == )

{

cout << A2;

}

else if (i == )

{

cout << A3;

}

else if (i == )

{

printf("%.1f", A4);

}

else if (i == )

{

cout << A5;

}

}

return ;

}

小结

求A1-A5的时候要判断vector长度是否为0,否则会发生段错误(越界)

求A5可以直接从大到小排序,取第一个数字

输出A4的时候用占位符%.1lf控制输出格式,精确到小数点后一位

循环中判断条件 if (i == && A1 == || i != && vec[i].size() == ) 如果没有 i == && A1 ==  ,若输入0,输出结果就会是0而不是N

PAT&lpar;B&rpar; 1012 数字分类(Java)

题目链接:1012 数字分类 代码 /** * Score 20 * Run Time 142ms * @author wowpH * @version 1.1 */ import java.util ...

PAT乙级 1012&period; 数字分类 &lpar;20&rpar;

1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进 ...

&lbrack;C&plus;&plus;&rsqb;PAT乙级1012&period;数字分类 &lpar;20&sol;20&rpar;

/* 1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和, ...

PAT 乙级 1012 数字分类 &lpar;20&rpar; C&plus;&plus;版

1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进 ...

【PAT】1012&period; 数字分类 &lpar;20&rpar;

1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算 ...

PAT 乙级 1048&period;数字加密 C&plus;&plus;&sol;Java

题目来源 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 ...

PAT 乙级 1019&period;数字黑洞 C&plus;&plus;&sol;Java

题目来源 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有 ...

PAT Basic 1012 数字分类 &lpar;20 分&rpar;

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A​1​​ = 能被 5 整除的数字中所有偶数的和: A​2​​ = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n ...

PAT 1012 数字分类 &lpar;20&rpar;(代码&plus;测试点)

1012 数字分类 (20)(20 分) 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求 ...

随机推荐

R平方

参考其他网页 通常R2越大越好,但看到亦在后面标上P值,这两者之间有何联系? R2和p值没有必然联系.就像你做线性分析和(单因素或多因素)方差分析一样,若A和K线性相关,也有可能A对K么有显著性影响一 ...

Linux手动释放缓存的方法

Linux释放内存的命令:syncecho 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1 ...

SMARTFORM报表程序设计&lpar;2&rpar;

在创建并设置好STYLE程序之后,在SMARTFORM页面选择单选框FORM输入报表程序名称(ZS_SFLIGHT),点击CREATE按钮即可进入SMARTFORM BUILDER图形设置界面,SMA ...

cocos2d-x 让精灵按照自己设定的运动轨迹行动

转自:http://blog.csdn.net/ufolr/article/details/7447773 在cocos2d中,系统提供了CCMove.CCJump.CCBezier(贝塞尔曲线)等让 ...

malloc&lpar;0&rpar;的问题

http://blog.csdn.net/js_xj/article/details/5826042 解答: 首先来解释malloc(0)的问题,这个语法是对的,而且确实也分配了内存,但是内存空间是0 ...

Android判读是否安装了某一款APP

/** * @Title: isAvilible * @Description: 断手机已安装某程序 * @param @param context * @param @param packageNa ...

Cookie 简单使用记录浏览记录

ItemsDAO.java package dao; import java.util.* ; import java.sql.* ; import util.DBHelper; import ent ...

关于 Python 入门的一些问题&quest;

一.用 python 能够做什么?解决什么问题? A1:理论上来说,计算机能做什么,python 语言就能让它做什么,也即 python能做什么. 数值计算.机器学习.爬虫.云相关开发.自动化测试.运 ...

Mysql安装的详细教程

首先,针对本人最近几天各种电脑安装数据库失败,反思总结所有的方式.现写出详细教程,希望别的人少走弯路. 首先 这次内容分为如下几步 : 1.mysql之前安装的彻底清除 2.mysql版本的选取 3. ...

C&num; 遍历所有的子控件和孙控件,包括容器中的,并批量操作和调用

这里要用两个知识,一个是递归,一个是队列. //定义一个Control类型的队列allCtrls private static Queue allCtrls = new ...

OpenSSH_9.2p1 Debian-2, OpenSSL 3.0.9 30 May 2023 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files debug1: /etc/ssh/ssh_config line 21: Applying options for * debug1: Connecting to lxslc702.ihep.ac.cn [2401:de00:2:332::186] port 22. debug1: Connection established. debug1: identity file /home/fyf/.ssh/id_rsa type -1 debug1: identity file /home/fyf/.ssh/id_rsa-cert type -1 debug1: identity file /home/fyf/.ssh/id_ecdsa type -1 debug1: identity file /home/fyf/.ssh/id_ecdsa-cert type -1 debug1: identity file /home/fyf/.ssh/id_ecdsa_sk type -1 debug1: identity file /home/fyf/.ssh/id_ecdsa_sk-cert type -1 debug1: identity file /home/fyf/.ssh/id_ed25519 type -1 debug1: identity file /home/fyf/.ssh/id_ed25519-cert type -1 debug1: identity file /home/fyf/.ssh/id_ed25519_sk type -1 debug1: identity file /home/fyf/.ssh/id_ed25519_sk-cert type -1 debug1: identity file /home/fyf/.ssh/id_xmss type -1 debug1: identity file /home/fyf/.ssh/id_xmss-cert type -1 debug1: identity file /home/fyf/.ssh/id_dsa type -1 debug1: identity file /home/fyf/.ssh/id_dsa-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_9.2p1 Debian-2 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4 debug1: compat_banner: match: OpenSSH_7.4 pat OpenSSH_7.4* compat 0x04000006 debug1: Authenticating to lxslc702.ihep.ac.cn:22 as 'fanyufan' debug1: load_hostkeys: fopen /home/fyf/.ssh/known_hosts: No such file or directory debug1: load_hostkeys: fopen /home/fyf/.ssh/known_hosts2: No such file or directory debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ssh-ed25519 debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY Connection closed by 2401:de00:2:332::186 port 22
最新发布
07-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值