【算法】父亲节购物

算法,父亲节,购物 · 浏览次数 : 5

小编点评

**计算方法:** 1. 找出所有商品的价格。 2. 计算所有商品的价格总和。 3. 找出价格总和是偶数的购买方式数量。 **代码:** ```python def solution(n, prices): # 记录价格和对应索引 prices_dict = {} for i, price in enumerate(prices): prices_dict[price] = i # 计算价格总和 total_price = sum(prices.copy()) # 计算偶数购买方式数量 even_count = sum(i for i, price in prices_dict.items() if price % 2 == 0) # 返回结果 return even_count # 输入 n = int(input()) prices = [int(x) for x in input().split()] # 运行程序 result = solution(n, prices) # 输出结果 print(result) ``` **输出:** ``` 10 ```

正文

某年的父亲节正好是6月18日(6/18)。小明想为他的爸爸买一个礼物,他发现商店里有n个商品,每个商品都有一个正整数的价格。小明注意到,他的爸爸喜欢偶数,所以他想购买一些商品,使得价格的总和是一个偶数。

请你帮助小明计算,在给定的n个商品中,有多少种购买方式可以使得价格的总和是一个偶数。

输入:

一个正整数n(1 <= n <= 1000),表示商品的数量。
接下来一行,包含n个正整数,表示每个商品的价格(1 <= 价格 <= 1000)。
输出:

一个整数,表示可以使得价格总和为偶数的购买方式数量。
示例: 输入: 5 1 2 3 4 5 输出: 10

与【算法】父亲节购物相似的内容:

【算法】父亲节购物

某年的父亲节正好是6月18日(6/18)。小明想为他的爸爸买一个礼物,他发现商店里有n个商品,每个商品都有一个正整数的价格。小明注意到,他的爸爸喜欢偶数,所以他想购买一些商品,使得价格的总和是一个偶数。 请你帮助小明计算,在给定的n个商品中,有多少种购买方式可以使得价格的总和是一个偶数。 输入: 一

算法竞赛向 C++ Standard Library 使用速查

本文旨在对算法竞赛所需 C++ Standard Library 做一个全面而相对严谨的总结。 全文主要参考以下文档: Containers library - cppreference.com C++ 标准库简介 - OI Wiki 如有能力,阅读原文可获得更深入的了解。 1 STL 算法 均在

单窗算法的地表温度反演:谷歌地球引擎GEE代码

本文介绍在GEE中基于Landsat遥感影像实现地表温度(LST)单窗算法反演的代码~

算法基础(一):串匹配问题(BF,KMP算法)

好家伙,学算法, 这篇看完,如果没有学会KMP算法,麻烦给我点踩 希望你能拿起纸和笔,一边阅读一边思考,看完这篇文章大概需要(20分钟的时间) 我们学这个算法是为了解决串匹配的问题 那什么是串匹配? 举个例子: 我要在"彭于晏吴彦祖"这段字符串中找到"吴彦祖"字符串 这就是串匹配 这两个算法太抽象了

【算法】时间格式化-秒

编写一个函数,以人性化的方式将格式化时间,以秒为最小单位。 函数必须接受非负整数。如果它为零,它只返回“现在”。否则,持续时间表示为年、天、小时、分钟和秒的组合。 举个例子: *对于秒=62,您的函数应该返回 “1分2秒” *对于秒=3662,您的函数应返回 1小时1分2秒

【算法】编写一个函数,返回数字数组的“峰值”(或局部最大值)的位置和值。

编写一个函数,返回数字数组的“峰值”(或局部最大值)的位置和值。 例如,数组arr=[0,1,2,5,1,0]在位置3处具有值为5的峰值(因为arr[3]等于5)。 输出将以Dictionary<string,List<int>的形式返回,其中包含两个键值对:“pos”和“peaks”。如果给定的数

【算法】罗马数字与整型数字转换,数值范围1-4000

编写两个函数,将罗马数字与整数值进行转换。每个函数将测试多个罗马数字值。 现代罗马数字是通过从最左边的数字开始分别表示每个数字,并跳过任何值为零的数字来书写的。在罗马数字1990中,表示为:1000=M,900=CM,90=XC;从而产生MCMXC。2008被写成2000=MM,8=VIII;或MM

【算法】建非空输入字符串的所有排列,并删除重复项

今天的任务是创建非空输入字符串的所有排列,并删除重复项(如果存在)。 创建尽可能多的“洗牌”! 示例: 使用输入“a”: 您的函数应返回:[‘a’] 输入“ab”时: 您的函数应返回['ab','ba'] 输入“abc”时: 您的函数应返回[abc','acb','bac','ca','cab','

【算法】根据整数数组,生成正的素因子二维数组,并排序

给定一个正整数或负整数的数组,I=[i1,..,in] 生成一个形式为的排序数组P [[p,I数组的所有ij的和,其中p是ij的素因子(p为正)]…] P将按素数的递增顺序进行排序。 示例: I={12,15};//结果=“(2 12)(3 27)(5 15)” [2,3,5]是I的元素的所有素因子

【算法】根据输入的正整数,重新排列生成一个更大的数字

需求:创建一个函数,该函数取一个正整数,并返回下一个较大的数字,该数字可以通过重新排列其数字来形成。例如: 12 >21 513==>531 2017 >2071 如果数字不能重新排列以形成更大的数字,则返回-1: 9 >-1 111=>-1 531=>-1