给定一系列正整数,请按要求对数字进行分类,并输出以下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

分析:将每一个数字按照取余后的结果i保存在v[i]数组中,然后对v[i]中的每一个元素按照不同i分类计算出A1 A2…A5~

#include <iostream>
#include <vector>
using namespace std;
int main() {int n, num, A1 = 0, A2 = 0, A5 = 0;double A4 = 0.0;cin >> n;vector<int> v[5];for (int i = 0; i < n; i++) {cin >> num;v[num%5].push_back(num);}for (int i = 0; i < 5; i++) {for (int j = 0; j < v[i].size(); j++) {if (i == 0 && v[i][j] % 2 == 0) A1 += v[i][j];if (i == 1 && j % 2 == 0) A2 += v[i][j];if (i == 1 && j % 2 == 1) A2 -= v[i][j];if (i == 3) A4 += v[i][j];if (i == 4 && v[i][j] > A5) A5 = v[i][j];}}for (int i = 0; i < 5; i++) {if (i != 0) printf(" ");if (i == 0 && A1 == 0 || i != 0 && v[i].size() == 0) {printf("N"); continue;}if (i == 0) printf("%d", A1);if (i == 1) printf("%d", A2);if (i == 2) printf("%d", v[2].size());if (i == 3) printf("%.1f", A4 / v[3].size());if (i == 4) printf("%d", A5);}return 0;
}

1012. 数字分类 (20)-PAT乙级真题相关推荐

  1. 1019. 数字黑洞 (20)-PAT乙级真题

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

  2. 1044. 火星数字(20)-PAT乙级真题

    火星人是以13进制计数的:地球人的0被火星人称为tret.地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, ...

  3. PAT 1074. 宇宙无敌加法器(20)-PAT乙级真题

    地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PAT数".每个PAT星人都必须熟记各 ...

  4. PAT 1072. 开学寄语(20)-PAT乙级真题

    1072. 开学寄语(20) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过 ...

  5. 1064. 朋友数(20)-PAT乙级真题

    1064. 朋友数(20) 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如123和51就是朋友数,因为1+2 ...

  6. 1057. 数零壹(20)-PAT乙级真题

    1057. 数零壹(20) 给定一串长度不超过10^5的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多 ...

  7. 1007. 素数对猜想 (20)-PAT乙级真题

    让我们定义 dn 为:dn = pn+1 – pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在无穷多对相邻且 ...

  8. 1058. 选择题(20)-PAT乙级真题

    批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多 ...

  9. 1078. 字符串压缩与解压 (20)-PAT乙级真题

    文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示.例如 ccccc 就用 5c 来表示.如果字符没有重复,就原样输出.例如 ...

最新文章

  1. GCD 容易让人迷惑的几个小问题
  2. 多家IT企业通过CNNIC“可信网站”验证
  3. Java数据库连接池知识汇总(C3P0+DBCP+Druid)
  4. db2与oracle的区别 锁,db2和oracle语句区别
  5. python3贴吧_python3模拟百度登录并实现贴吧自动签到
  6. Java集合(5)--Set接口及其实现类HashSet、LinkedHashSet和TreeSet
  7. [转载]多维数组与Json格式的转化
  8. 制作chrome插件教程
  9. 机器学习课程笔记【十】- 混合高斯与期望最大化算法
  10. 关于路由器,摄像头,防火墙的搜索方法(IOT设备)
  11. Python TKinter下拉日历控件
  12. 面试官:Java的重写和重载有什么区别?
  13. 数据库同步——中间数据库的实现方式
  14. 106短信通道等6种常见短信通道介绍,你了解多少呢
  15. mysql 中average_MySQL Average()
  16. 唐巧的《iOS开发进阶》 - 读后感
  17. 限制Editext输入字节长度
  18. 玩转SQL语句之group by 多字段分组查询与having子句,一篇解决你的疑惑!
  19. Linux哪个命令显示文件内容,显示文件内容的Linux命令有哪些?Linux培训
  20. 全面战争:三国 破解版安装教程

热门文章

  1. ubuntu12.10安装android编译环境
  2. Android移植之自定义ProgressBar
  3. 电脑办公技巧:他做了9小时的工作,我5秒就做完了
  4. Python笔记16-------类
  5. 微软已停止对Vista RTM(SP0)的服务支持
  6. 安装saltstack遇到的问题锦集
  7. jsmin 使用方法
  8. Git 存在多个漏洞,开发人员应及时更新
  9. 微软低代码工具 Power Apps 配置不当,暴露3800万条数据记录
  10. Ping of Death:速修复 TCP/IP RCE 漏洞 CVE-2020-16898