1012. 数字分类 (20)——做题纪录
2016-04-07 15:52
197 查看
1012. 数字分类 (20)
时间限制100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一系列正整数,请按要求对数字进行分类,并输出以下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
// // main.cpp // PATBase1012 // // Created by Tong on 4/7/16. // Copyright © 2016 Tong. All rights reserved. // #include <iostream> #include <vector> using namespace std; int main(int argc, const char * argv[]) { int N; long result[5], A3Amount = 0; vector<int> A1; for (int i = 0; i < 5; i++) { result[i] = -1; } cin>>N; for (int i = 0; i < N; i++) { int temp; cin>> temp; // 能被5整除的数字中所有偶数的和 if ((temp % 5 == 0) && (temp % 2 == 0)) { if (result[0]==-1) { result[0] = temp; }else{ result[0] += temp; } } // 将被5除后余1的数字按给出顺序进行交错求和 if (temp % 5 == 1) { A1.push_back(temp); } // 被5除后余2的数字的个数 if (temp % 5 == 2) { if (result[2]==-1) { result[2] = 1; } else{ result[2]++; } } // 被5除后余3的数字的平均数 if (temp % 5 == 3) { if (result[3]==-1) { result[3] = temp; } else{ result[3] += temp; } A3Amount++; } // 被5除后余4的数字中最大数字 if (temp % 5 == 4) { if (result[4]< temp) { result[4] = temp; } } } long sum = 0; for (int i = 0; i < A1.size(); i++) { if (i % 2 == 0) { sum += A1[i]; }else{ sum -= A1[i]; } } if (A1.size()) { result[1] = sum; } for (int i = 0; i < 5; i++) { if (result[i]== -1) { cout<<"N"; }else{ if (i==3) { printf("%.1f", result[i]*1.0 / A3Amount); }else{ cout<<result[i]; } } if (i!=4) { cout<<" "; } } return 0; }
相关文章推荐
- <记录>删除字符串中的子串
- 1001. 害死人不偿命的(3n+1)猜想 (15)——做题纪录
- 1002. 写出这个数 (20)——做题纪录
- 1003. 我要通过!(20)——做题纪录
- 1005. 继续(3n+1)猜想 (25)——做题纪录
- 1006. 换个格式输出整数 (15)——做题纪录
- 1007. 素数对猜想 (20)——做题纪录
- 1008. 数组元素循环右移问题 (20)——做题纪录
- 1009. 说反话 (20)——做题纪录
- 1010. 一元多项式求导 (25)——做题纪录
- 1011. A+B和C (15)——做题纪录
- BZOJ 刷题记录 PART 1
- BZOJ 刷题记录 PART 2
- BZOJ 刷题记录 PART 3
- BZOJ 刷题记录 PART 4
- BZOJ 刷题记录 PART 5
- BZOJ 刷题记录 PART 6
- NOIP 2012 题解
- CF 题目集锦 PART 2 #260 div 1 C
- CF 题目集锦 PART 5 #266 div 2 E