PAT乙级----数字分类
2017-12-11 本文已影响0人
YangLiuSS
题目描述
给定一系列正整数,请按要求对数字进行分类,并输出以下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”。
输入例子:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
输出例子:
30 11 2 9.7 9
# -*- coding: utf-8 -*-
# @Author : ly
input_list =raw_input()
num_list = input_list.split(" ")
int_num_list = num_list[1:]
# print int_num_list
A1 = A2 = A3 = A5 =0
A4 =0.0
db =1
n =0
fornuminint_num_list:
num =int(num)
A_num = num %5
if(A_num ==0)and(num %2==0):
A1 += num
elif(A_num ==1):
A2 += num * (-1)**(db +1)
db +=1
elif(A_num ==2):
A3 +=1
elif(A_num ==3):
A4 += num
n +=1
elif(A_num ==4)and(A5 < num):
A5 = num
ifn >0:
A4 =round(A4 / n,1)
printA1ifA1is not0else'N', A2ifA2is not0else'N', A3ifA3is not0else'N', A4ifA4is not0.0else'N', A5ifA5is not0else'N'