测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A25712. 编程实现:有N(2≤N≤80)堆玻璃球,且已知每堆玻璃球的数量。小明每次只能从其中一堆玻璃球中拿出1颗或者2颗。请你帮助小明计算出,最少需要拿多少次才能把N堆玻璃球全部拿完。例如:N = 3,3堆玻璃球的数量分别为6,5,3,最少需要拿8次,具体拿法如下:6颗的玻璃球最少需要拿3次,第一次拿2个,第二次拿2个,第三次拿2个;5颗的玻璃球最少需要拿3次,第一次拿2个,第二次拿2个,第三次拿1个;3…

填空题 较易

题目描述

编程实现:

有N(2≤N≤80)堆玻璃球,且已知每堆玻璃球的数量。小明每次只能从其中一堆玻璃球中拿出1颗或者2颗。

请你帮助小明计算出,最少需要拿多少次才能把N堆玻璃球全部拿完。

例如:

N = 3,3堆玻璃球的数量分别为6,5,3,最少需要拿8次,具体拿法如下:

6颗的玻璃球最少需要拿3次,第一次拿2个,第二次拿2个,第三次拿2个;

5颗的玻璃球最少需要拿3次,第一次拿2个,第二次拿2个,第三次拿1个;

3颗的玻璃球最少需要拿2次,第一次拿2个,第二次拿1个。

输入描述:

第一行输入一个正整数N(2≤N≤80),表示玻璃球总堆数

第二行输入N个正整数(1≤正整数≤50),分别表示每堆玻璃球的数量,正整数之间以一个英文逗号隔开

输出描述:

输出一个整数,表示拿完N堆玻璃球最少需要拿取的次数

样例输入:

3
6,5,3

样例输出:

8

参考答案

N = int(input()) h = input() s = list(map(int,h.split(','))) c = 0 for i in s: if i % 2 == 0: c += (i/2) else: c += ((i+1)/2) print(int(c))

答案解析

评分标准:

3分:能正确输出第一组数据;

3分:能正确输出第二组数据;

3分:能正确输出第三组数据;

3分:能正确输出第四组数据;

4分:能正确输出第五组数据;

4分:能正确输出第六组数据。

上一题 下一题