zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    第一次离职了
    华为手机 关于Android真机调试的时候logcat中无法输出调试信息的解决办法
    ListView的简单实用
    博客生涯开始
    hdu1151:Air Raid(最小路径覆盖)
    hdu1151:Air Raid(最小路径覆盖)
    hdu1162:Eddy's picture(最小生成树)
    hdu1162:Eddy's picture(最小生成树)
    hdu1301:Jungle Roads(最小生成树)
    hdu1301:Jungle Roads(最小生成树)
  • 原文地址:https://www.cnblogs.com/xiaxj/p/7977768.html
Copyright © 2011-2022 走看看