1012-数字分类
leenickzh Lv4

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

  • = 能被 5 整除的数字中所有偶数的和;
  • = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 …;
  • = 被 5 除后余 2 的数字的个数;
  • = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;
  • = 被 5 除后余 4 的数字中最大数字.

输入格式

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

输出格式

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

若其中某一类数字不存在,则在相应位置输出 N.

输入样例 1

1
13 1 2 3 4 5 6 7 8 9 10 20 16 18

输出样例 1

1
30 11 2 9.7 9

输入样例 2

1
8 1 2 4 5 6 7 9 16

输出样例 2

1
N 11 2 N 9

分析

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
int A1 = 0, A2 = 0;
double A4 = 0;
vector<int> a1,a2,a3,a4,a5;
int N;
cin>>N;
for(int i = 0;i < N;i++)
{
int n;
cin>>n;
switch (n%5)
{
case 0:
if (n%2==0)
{
a1.push_back(n);
}
break;
case 1:
a2.push_back(n);
break;
case 2:
a3.push_back(n);
break;
case 3:
a4.push_back(n);
break;
case 4:
a5.push_back(n);
break;
}
}
for(int i : a1)
{
A1+=i;
}
for(int i = 0;i < a2.size();i++)
{
if(i%2==0)
{
A2+=a2[i];
}else{
A2-=a2[i];
}
}
for(int i : a4)
{
A4+=i;
}
sort(a5.begin(),a5.end());
if(a1.empty())
{
cout<<"N ";
}else{
cout<<A1<<" ";
}
if(a2.empty())
{
cout<<"N ";
}else{
cout<<A2<<" ";
}
if(a3.empty())
{
cout<<"N ";
}else{
cout<<a3.size()<<" ";
}
if(a4.empty())
{
cout<<"N ";
}else{
printf("%.1lf ",A4/(double)a4.size());
}
if(a5.empty())
{
cout<<"N";
}else{
cout<<a5[a5.size()-1];
}
return 0;
}
  • Post title:1012-数字分类
  • Post author:leenickzh
  • Create time:2021-08-05 14:26:05
  • Post link:https://nickk.cn/2021/08/05/1012-数字分类/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments