牛客网PAT题目1002——数字分类(Java)
2017-11-22 19:21
351 查看
题目详情见链接:
https://www.nowcoder.com/pat/6/problem/4078
代码如下:
题目较简单,但是最终格式化输出要分情况讨论,因为题目要求行末不得有多余空格,因此需要考虑分情况讨论A5是否存在。
考虑:如何减少内存?
https://www.nowcoder.com/pat/6/problem/4078
代码如下:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); short number = scanner.nextShort(); //整数个数 short[] numbers = new short[number]; for(int i=0;i<number;i++) numbers[i]=scanner.nextShort(); float[] A=new float[6]; int[] geshu= new int[5]; //记录各类数字的个数 for(int i=0;i<numbers.length;i++) { if(numbers[i]%5==0 && numbers[i]%2==0) { //计算A1 A[1]+=numbers[i]; geshu[0]++; } if(numbers[i]%5==1) { //计算A2 geshu[1]++; if(geshu[1]%2==1) A[2]+=numbers[i]; else A[2]+=(-numbers[i]); } if(numbers[i]%5==2) { //计算A3 A[3]++; geshu[2]++; } if(numbers[i]%5==3) { A[4]+=numbers[i]; geshu[3]++; } if(numbers[i]%5==4) { //计算A5 geshu[4]++; if(numbers[i]>A[5]) A[5]=numbers[i]; } } A[4]/=geshu[3]; //计算A4 for(int i=0;i<5;i++) { if(geshu[i]==0&&i!=4) System.out.print("N "); else if(i==3&&geshu[i]!=0) System.out.printf("%.1f ",A[i+1]); else if(i==4&&geshu[i]!=0) System.out.printf("%d\n",(int)A[i+1]); else if(i==4&&geshu[i]==0) System.out.println("N"); else System.out.printf("%d ",(int)A[i+1]); } } }
题目较简单,但是最终格式化输出要分情况讨论,因为题目要求行末不得有多余空格,因此需要考虑分情况讨论A5是否存在。
考虑:如何减少内存?
相关文章推荐
- 牛客网 PAT 乙级 1002 数字分类
- Pat 1002 数字分类Java解法
- pat(B)1002 数字分类(Java)
- PAT 1012. 数字分类 (20) —— Java(未满分)
- 【PAT】B1012. 数字分类(C++精确到小数点、题目理解)
- PAT 1012. 数字分类 java版
- PAT 乙级 1002-数字分类
- PAT(乙级)1002 数字分类 (20)
- PAT算法题目 数字分类
- 编程题目: PAT 1012. 数字分类 (20)
- 牛客网PAT题目1001——A+B和C(Java)
- 编程题目: PAT 1012. 数字分类 (20)
- 牛客网PAT题目——锤头剪刀布(Java)
- PAT乙级——1002 数字分类 (C/C++)
- PAT乙级(Basic Level)真题-1002 数字分类 (20)
- 1012. 数字分类 (20)-PAT乙级真题-浙大PAT乙级真题java实现
- PAT乙级 1012. 数字分类 (20)
- PAT乙级1012. 数字分类 (20)
- THINKING IN JAVA中吸血鬼数字题目的答案,稍作修改
- PAT 乙级 1019. 数字黑洞 (20) Java版