PAT Basic 1012
1012 数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下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 题目分析:直接读入数据,按情况将他们分类就可以了。代码如下:
1 #include<iostream> 2 #include<stdio.h> 3 4 using namespace std; 5 6 int main() 7 { 8 int N,m,A1 = 0,a1 = 0,A2 = 0, a2 = 0, sig = 1,A3 = 0, a3 = 0, num = 0, a4 = 0, A5 = 0, a5 = 0; 9 double A4 = 0; 10 cin>>N; 11 while(N--) 12 { 13 cin>>m; 14 if( m%5 == 0) 15 { 16 if( m%2 == 0) 17 { 18 if(!a1) a1 = 1; 19 A1 += m; 20 } 21 } 22 else if( m%5 == 1) 23 { 24 if(!a2) a2 = 1; 25 A2 += m*sig; 26 sig *= -1; 27 } 28 else if( m%5 == 2) 29 { 30 if(!a3) a3 = 1; 31 A3++; 32 } 33 else if( m%5 == 3) 34 { 35 if(!a4) a4 = 1; 36 A4 += m; 37 num++; 38 } 39 else if( m%5 == 4) 40 { 41 if(!a5) a5 = 1; 42 if( m > A5) 43 A5 = m; 44 } 45 } 46 A4 = A4/num; 47 if(a1) printf("%d ",A1); 48 else printf("N "); 49 if(a2) printf("%d ",A2); 50 else printf("N "); 51 if(a3) printf("%d ",A3); 52 else printf("N "); 53 if(a4) printf("%.1lf ",A4); 54 else printf("N "); 55 if(a5) printf("%d",A5); 56 else printf("N"); 57 return 0; 58 }
转载于:https://www.cnblogs.com/yxp400/p/9448130.html
PAT Basic 1012相关推荐
- PAT (Basic Level) Practice (中文)答案合集
准备复试专用,目标刷完全部中文题! 1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ...
- 【题解】PAT (Basic Level) Practice (中文)
互联网行业的小白,写博客的目的是为了记录自己的学习过程.对自己学习中所犯的错误做一个总结.由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教! PAT Basic Level P ...
- PAT乙级真题全集-PAT (Basic Level) Practise (中文)
1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ...
- PAT甲级1012 The Best Rank :[C++题解]4个成绩取排名最低:排序、二分(好题)
文章目录 题目分析 题目链接 题目分析 遇到的问题:信息存在结构体(✖)中,然后排名呢?需要分别对 C.M.E.A排四次吗? 这里成绩的存储 用二维数组 vector<int> q[4]; ...
- PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)
PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20) http://www.patest.cn/contests/pat-b-practise/1034 ...
- PAT basic level 答案+解题思路+难点 (个人刷题记录)
PAT basic level 使用语言:C++ 仅记录一下自己刷题过程的心得体会 永远保持更新(期待更好的解法) 可能有些题没有(那就是我还没做出来,以后会更的!) 欢迎大家与我讨论交流√ 题目序列 ...
- 可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)
可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决) c1, c2 = map(int,input().split( ...
- 1001 害死人不偿命的(3n+1)猜想 (15分) PAT (Basic Level) Practice (中文)C语言版
PAT (Basic Level) Practice (中文) 1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一 ...
最新文章
- linux tr命令详解
- 用ABAP代码读取S/4HANA生产订单工序明细 1
- 网络交换机3大常见故障问题
- [合作赞助]九叔生日由中国移动、51cto、奇虎360以及一帆浩瀚联合举办
- Asp.net五大对象
- Windows+Python3.7下自动生成requirements.txt文件
- Linux之scsi网络存储
- 绿盟漏洞扫描工具_IDC盘点2020上半年中国安全市场绿盟科技再获响应和编排能力认可...
- 现在主流人工智能(AI)方法的本质是什么?
- 从solidWorks导出机器人URDF文件
- 跨终端实践-天猫试戴的解决方案
- 效率工具+WPS复选框显示太阳问题解决方法
- PowerBI-筛选器函数-KEEPFILTERS
- 分治算法详解及经典例题
- bspline怎么使用 python_B-Spline曲线拟合
- 大家好,才是真的好「博客出书的故事②」
- ASUS C302C Chromebook Windows声卡驱动
- 数字乡村建设浅谈(一):可行性、难点、思考
- 深度学习之前馈神经网络(前向传播和误差反向传播)
- jQuery Ajax异步请求详解
热门文章
- 音乐学院计算机考试内容,中国音乐学院2014年秋季本科考试试卷-计算机基础C
- php判断字符串里有英文,PHP针对中英文混合字符串长度判断及截取方法示例
- java 12_为什么在Java(高低)/ 2是错误但(高低) 1不是?
- 下列哪个适合做链栈_外贸企业如何做Google推广?自然排名和付费广告哪个更适合你?...
- feign直接走熔断_SpringCloud基于OpenFeign实现服务熔断降级
- php swoole 游戏框架,Swoole 高性能php框架
- 加载elementor时出现问题_element ui 按需引入出现问题
- C语言排序方法-----直接插入排序
- 带时限作业排序(贪心)
- DSB2017第一名论文理解: 3D Deep Leaky Noisy-or Network(一)