PAT乙类之1012 数字分类 (20 分)

一、 题目

给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:
A​1= 能被 5 整除的数字中所有偶数的和;
A​2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯;
A3= 被 5 除后余 2 的数字的个数;
A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
A​5= 被 5 除后余 4 的数字中最大数字。输入格式:
每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数 N,随后给出 N 个不超过 1000 的待分类的正整数。数字间以空格分隔。输出格式:
对给定的 N 个正整数,按题目要求计算 A​1~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. 第八个测试点过不去: 单独处理 i=1!!!
    之所以过不去是因为如果交错求和等于0,那么岂不是就直接输出"N"了。 所以用k来计数!!!

新的技巧和方法

  1. 关于输出多余空格的新方法:
     if(i!=0) cout<<" ";     //一行代码直接搞定!!!!
  1. switch(n % 5) :
    n % 5直接就是结果! 不用再再添加多余的额外函数!!!
    比如bool divideFive(int n) 返回处理之后的结果!!
  2. 交错求和

a[1] += pow( -1, count ) x;* //记住pow函数

  1. 关于 i 如果不同会有不同的结果的问题!!
    if条件单独处理i
   if( i == 1){}if(i==2) {}...... //(普通的情况)

分析

  1. 整体有5种可能,所以采用switch语句可能较为方便。但是直接switch(n % 5) 就可以!!
  2. 输出代码,可以采用三元运算符。(看的别人代码,觉得很简洁,在此摘录)
(a[0]>0)?(cout<<a[0]<<" "):(cout<<"N ");
(a[1]!=0)?(cout<<a[1]<<" "):(cout<<"N ");
(a[2]>0)?(cout<<a[2]<<" "):(cout<<"N ");
(a[3]>0)?(cout<<fixed<<setprecision(1)<<a[3]/flag<<" "):(cout<<"N ");
(a[4]>0)?(cout<<a[4]):(cout<<"N");
  1. 注意最后一个测试点
#include <iostream>
#include <stdio.h>
using namespace std;int main() {int a[5] = {0};float j = 0.0;int n, count;cin >> count;int k=0;while(count--) {cin >> n;switch(n % 5) {case 0:if( n%2 == 0) {a[0]+=n;}break;case 1:if(k % 2 == 0) {a[1]+=n;k++;}else {a[1]-=n;k++;}break;case 2:a[2]++;break;case 3:a[3] += n;j++;break;case 4:if( n > a[4]) {a[4] = n;}break;}}for(int i=0; i<5; i++) {if(i!=0) cout<<" ";if(i == 1) {if(k != 0) {printf("%d", a[1]);continue;}else {printf("N");continue;}}if(a[i] == 0) {printf("N");}else if(i == 3){printf("%0.1f", a[i]/j);}else {printf("%d", a[i]);}}return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#.net同步异步SOCKET通讯和多线程总结(转)

C#.net同步异步SOCKET通讯和多线程总结 来源&#xff1a;http://www.cnblogs.com/Silverlight_Team/archive/2009/03/13/1411136.html 同步套接字通信 Socket支持下的网上点对点的通信 服务端实现监听连接&#xff0c;客户端实现发送连接请求&#xff0c;建立连接后进行发送和…

python delta_Python 函数

一、函数的基本语法及特性函数定义&#xff1a;定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来&#xff0c;要想执行这个函数&#xff0c;只需调用其函数名即可特性:减少重复代码使程序变的可扩展使程序变得易维护语法定义&#xff1a;#def 函数名(参数)&#xf…

浏览器返回错误汇总分析

错误代码&#xff1a;400 400错误是由于不正确的请求造成的&#xff0c;说明正在搜索的网页可能已经删除、更名或暂时不可用。 错误代码&#xff1a;401.1 401.1错误是由于登陆失败造成的&#xff0c;说明没有权限查看该目录或网页。 错误代码&#xff1a;401.2 401.2错误是由于…

PAT乙类1013 数素数 (20 分)

一、题目 令 P​i表示第 i 个素数。现任给两个正整数 M≤N≤10^4&#xff0c;请输出 PM到 PN的所有素数。输入格式&#xff1a; 输入在一行中给出 M 和 N&#xff0c;其间以空格分隔。输出格式&#xff1a; 输出从 P​M到 P​N的所有素数&#xff0c;每 10 个数字占 1 行&…

LeetCode 506. 相对名次(map)

1. 题目 给出 N 名运动员的成绩&#xff0c;找出他们的相对名次并授予前三名对应的奖牌。 前三名运动员将会被分别授予 “金牌”&#xff0c;“银牌” 和“ 铜牌”&#xff08;“Gold Medal”, “Silver Medal”, “Bronze Medal”&#xff09;。 (注&#xff1a;分数越高的选…

python docx包_[Python02] Python-docx包的使用,快速处理 Word 文件!

日常需要经常处理Word文档&#xff0c;发现了一个新的Python包&#xff1a;Python-docx&#xff0c;处理docx十分方便。而且这个包和pandas包结合使用&#xff0c;可以在word插入excel表格&#xff0c;节省了很多复制、粘贴、调整表格样式的时间&#xff0c;真的很方便&#xf…

c study_13

第十章:文件 文件文件的基本概念  所谓"文件"是指一组相关数据的有序集合。 这个数据集有一个名称&#xff0c;叫做文件名。 实际上在前面的各章中我们已经多次使用了文件&#xff0c;例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外…

PAT乙类1014 福尔摩斯的约会 (20 分)

一、题目 大侦探福尔摩斯接到一张奇怪的字条&#xff1a;我们约会吧&#xff01; 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了&#xff0c; 字条上奇怪的乱码实际上就是约会的时间星期四 14:04&#xff0c;因为前面两字符串中第 1 对…

LeetCode 507. 完美数

1. 题目 对于一个 正整数&#xff0c;如果它和除了它自身以外的所有正因子之和相等&#xff0c;我们称它为“完美数”。 给定一个 整数 n&#xff0c; 如果他是完美数&#xff0c;返回 True&#xff0c;否则返回 False 示例&#xff1a; 输入: 28 输出: True 解释: 28 1 2…

python分段函数图像画法_我想用Python matplotlib 画一个这样类似的图像,需要用到分段函数。大佬帮帮这个小弟?...

有做出来了import matplotlib.pyplot as pltimport numpy as npdef lin():#直线方程i0while i!80:m np.linspace(20, 100, 3)n [(80-i), (80-i), (80-i)]axes.plot(m, n)i i 20def cruve():#圆弧方程k0while k!60:if k20:r 10.0#半径a, b ((70-k) ,-20 )#圆心坐标x np.a…

python笔记(五) - 获取对象的引用

1&#xff0c;使用 getattr 函数&#xff0c;可以得到一个直到运行时才知道名称的函数的引用。 >>>li ["Larry", "Curly"]>>>li.pop<built-inmethod pop of list object at 0x00A75850>>>>getattr(li,pop)<built-inme…

spring-test dao空指针异常_014、Java异常机制

1.异常的概念和分类异常指程序运行过程中出现的非正常现象&#xff0c;例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中&#xff0c;引进了很多用来描述和处理异常的类&#xff0c;称为异常类。异常类定义中包含了该类异常的信息和…

基于奇异值分解(SVD)的图片压缩实践

文章目录1. 前言2. 原理简介2.1 SVD定义3. 实践代码4. 参考文献1. 前言 数字图片在计算机中是以矩阵形式存储的。所以可以通过矩阵理论和矩阵算法对数字图像进行分析和处理。本文通过对图片进行SVD压缩&#xff0c;对不同的参数下的压缩效果进行对比。 SVD概念可以参考&#…

执行文件异常报错:ImportError: attempted relative import with no known parent package

问题描述 1. 源代码中的导入代码&#xff1a; from ..utils.osutils import mkdir_if_missing #导入自己的 函数 from ..utils.serialization import write_json, read_json这个是将utils中的py文件导入到cuhk03中。但是报错&#xff01; 解决方法 1. 相对导入 其中上述…

待机、休眠、睡眠的区别和优缺点

Windows操作系统中很早就加入了待机、休眠等模式&#xff0c;而Windows Vista中更是新加入了一种叫做睡眠的模式&#xff0c;可是很多人还是习惯在不使用电脑的时候将其彻底关闭。其实充分利用这些模式&#xff0c;我们不仅可以节约电力消耗&#xff0c;还可以用尽可能短的时间…

LeetCode 508. 出现次数最多的子树元素和(递归)

1. 题目 给你一个二叉树的根结点&#xff0c;请你找出出现次数最多的子树元素和。 一个结点的「子树元素和」定义为以该结点为根的二叉树上所有结点的元素之和&#xff08;包括结点本身&#xff09;。 你需要返回出现次数最多的子树元素和。如果有多个元素出现的次数相同&…

知识图谱入门视频(一)

学习内容&#xff1a; 知识图谱导论 陈华钧 浙江大学计算机科学与技术学院 教授 小象学院 哔哩哔哩 第一章 【其实后面的方法学习只是一个框架式的学习&#xff0c;并不明白具体的操作】 1. 什么是知识图谱&#xff1f; 知识图谱是一个系统&#xff01; 从根据场景构建再到场…

onenetsim定位功能吗_经常玩手机的抓紧看看,原来手机键盘还隐藏4个实用功能,真实用...

可爱的人都关注我了&#xff0c;就差你了1在日常生活中&#xff0c;大家对手机的依赖性越来越大&#xff0c;不管走到哪&#xff0c;时时刻刻都拿着手机发信息。可是&#xff0c;用了这么久的手机&#xff0c;你真的会用手机键盘吗&#xff1f;你知道手机键盘上隐藏的小功能吗&…

程序模拟键盘鼠标操作

用代码模拟键盘鼠标操作,主要用到keybd_event/mouse_event或者SendInput API函数.使用示例如下(附注释): /** 模拟键盘输入,以按窗口键(WIN键)为例 *///keybd_event模拟键盘输入示例::keybd_event( VK_LWIN, 0, 0, 0); //按下WIN键 ::keybd_event( VK_LW…

LeetCode 520. 检测大写字母

1. 题目 给定一个单词&#xff0c;你需要判断单词的大写使用是否正确。 我们定义&#xff0c;在以下情况时&#xff0c;单词的大写用法是正确的&#xff1a; 全部字母都是大写&#xff0c;比如"USA"。 单词中所有字母都不是大写&#xff0c;比如"leetcode&qu…