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' 
上一篇下一篇

猜你喜欢

热点阅读