PAT——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 package com.hone.basical;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 import java.util.Scanner;
 6
 7 /**
 8  * 原题目:https://www.patest.cn/contests/pat-b-practise/1012
 9  *
10  * @author Xia 只可惜运行超时啊!!!!
11  */
12
13 public class basicalLevel1012NumClassify {
14     public static void main(String[] args) {
15         int a1 = 0, h = 0;
16         List<Integer> a2 = new ArrayList<>();
17         int a3 = 0;
18         double a4 = 0, j = 0;
19         int a5 = 0, k = 0;
20         Scanner input = new Scanner(System.in);
21         String nums = input.nextLine();
22         String[] numst = nums.split(" ");
23         int n = Integer.parseInt(numst[0]);
24         int a;
25         for (int i = 0; i < n; i++) {
26             a = Integer.parseInt(numst[i + 1]);
27             if ((a % 5 == 0) && (a % 2 == 0)) {
28                 a1 += a;
29                 h++;
30             } else if (a % 5 == 1) {
31                 a2.add(a);
32             } else if (a % 5 == 2) {
33                 a3++;
34             } else if (a % 5 == 3) {
35                 a4 += a;
36                 j++;
37             } else if (a % 5 == 4) {
38                 k++;
39                 if (a > a5)
40                     a5 = a;
41             }
42         }
43
44         if (h > 0) {
45             System.out.print(a1 + " ");
46         } else {
47             System.out.print("N" + " ");
48         }
49
50         if (a2.size() > 1) {
51             int sum = 0;
52             for (int i = 0; i < a2.size(); i++) {
53                 if (i % 2 == 0) {
54                     sum += a2.get(i);
55                 } else {
56                     sum = sum - a2.get(i);
57                 }
58             }
59             System.out.print(sum + " ");
60         } else {
61             System.out.print("N" + " ");
62         }
63
64         if (a3 > 0) {
65             System.out.print(a3 + " ");
66         } else {
67             System.out.print("N" + " ");
68         }
69
70         if (j > 0) {
71             double ave = a4 / j;
72             System.out.printf("%.1f ", ave);
73         } else {
74             System.out.print("N" + " ");
75         }
76
77         if (k > 0) {
78             System.out.print(a5);
79         } else {
80             System.out.print("N");
81         }
82     }
83 }
时间: 2024-08-10 19:32:45

PAT——1012. 数字分类的相关文章

PAT 1012 数字分类 C语言

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT 1012. 数字分类 (20)

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT 1012 数字分类

https://pintia.cn/problem-sets/994805260223102976/problems/994805311146147840 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数字. 输入

PAT乙级 1012. 数字分类 (20)

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的数字中最大数

C++&#183;PAT乙级1012.数字分类 (20/20)

/* 1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的

*1012. 数字分类

1 /* 2 * Main.c 3 * 1012. 数字分类 4 * Created on: 2014年8月30日 5 * Author: Boomkeeper 6 ********部分通过****** 7 */ 8 9 #include <stdio.h> 10 #include <math.h> 11 12 void A1(int in,int* sum){ 13 14 if(in%5==0&&in%2==0) 15 (*sum)+=in; 16 } 17 18

乙级PAT之数字分类(字符串类型的格式化)

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

PAT乙级.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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT (Basic Level) Practice (中文) 1012 数字分类

1 #include<cstdio> 2 using namespace std; 3 int num[5],sumn[5],n; 4 void init(); 5 void read(); 6 void deal(); 7 int main(){ 8 init(); 9 read(); 10 deal(); 11 return 0; 12 } 13 void init(){ 14 for(int i=0;i<=4;i++){ 15 num[i] = 0; 16 sumn[i] = 0;