news 2026/8/12 18:11:06

华为OD机试真题2025双机位C卷 PythonJS 实现【挑选宝石】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD机试真题2025双机位C卷 PythonJS 实现【挑选宝石】

目录

题目

思路

Code


题目

游乐园有一款互动游戏,游戏开始时会提供n个宝石,每个宝石都一个属性值a1,a2..an.玩家在游戏前可以挑选x颗宝石,将这些宝石的属性值相乘组成玩家的属性值。游戏玩家需要y点属性值,请帮助游戏玩家计算有多少种计算方式
输入描述
第一行:三个整数n,x,y
第一个整数n(0<n<20)表示宝石总数量。
第二个整数x(0<x<=n),表示可以选择宝石个数
第三个整数y,表示通过游戏需要的属性值


第二行:n个整数,a1,a2....an(-100<ai<100),表示每个宝石的属性值。


输出描述
输出一个整数,表示玩家可以通过游戏的挑选方式的数量

示例1

输入:

4 2 8
2 -3 4 5

输出:

3

思路

题目中N的取值范围较小 (N < 20),可以直接使用组合数学的方法暴力枚举所有可能的宝石组合,计算乘积并判断是否大于等于 Y即可。

Code

import sys from itertools import combinations def solve(): line1 = sys.stdin.readline().strip() if not line1: return n, x, y = map(int, line1.split()) # 读取第二行输入 a1, a2 ... an line2 = sys.stdin.readline().strip() if not line2: a = [] else: a = list(map(int, line2.split())) # 题目要求选择 x 颗宝石,计算乘积等于 y 的组合数 # 数据范围 n < 20,比较小,可以直接用 itertools.combinations 暴力枚举 count = 0 # 遍历所有长度为 x 的组合 for combo in combinations(a, x): product = 1 for val in combo: product *= val if product >= y: count += 1 print(count) if __name__ == "__main__": solve()

JS

const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let lines = []; rl.on('line', (line) => { lines.push(line.trim()); }); rl.on('close', () => { if (lines.length === 0) return; // 读取第一行输入 n, x, y const firstLine = lines[0].split(/\s+/); if (firstLine.length < 3) return; const n = parseInt(firstLine[0]); const x = parseInt(firstLine[1]); const y = parseInt(firstLine[2]); // 读取第二行输入 a1, a2 ... an let a = []; if (lines.length > 1 && lines[1] !== '') { a = lines[1].split(/\s+/).map(Number); } // 题目要求选择 x 颗宝石,计算乘积等于 y 的组合数 // 数据范围 n < 20,比较小,可以直接用递归暴力枚举 let count = 0; // 递归函数生成组合 function combine(startIndex, currentCount, currentProduct) { // 如果选够了x个宝石 if (currentCount === x) { if (currentProduct >= y) { count++; } return; } // 遍历所有可能的组合 for (let i = startIndex; i < n; i++) { // 剪枝优化:如果剩余的元素不足以填满 x 个,则不再继续 if (n - i < x - currentCount) { break; } combine(i + 1, currentCount + 1, currentProduct * a[i]); } } combine(0, 0, 1); console.log(count); });

【华为od机试真题Python+JS+Java+Go合集】【超值优惠】:Py/JS/Java/Go合集

【华为od机试真题Python】:Python真题题库

【华为od机试真题JavaScript】:JavaScript真题题库

【华为od机试真题Java&Go】:Java&Go真题题库

【华为od机试真题C++】:C++真题题库

【华为od机试真题C语言】:C语言真题题库

【华为od面试手撕代码题库】:面试手撕代码题库

【华为od机试面试交流群:830285880】【文章底部有二维码链接,可扫码加交流群】

华为OD机试:二本院校有机会吗?
有机会,但不大,大神除外!机考分数越高越好,所以需要提前刷题。机考通过后,如果没有收到面试邀请,也不要着急,非目标院校面试邀请发的时间比较晚。非目标院校今年有点难,机试至少要考到350分,所以需要疯狂刷题,华为OD机考是有题库的,最好在考前完所有题库题目。华为OD机试:跨专业可以参加华为OD可以,但是如果你的本科院校比较差,上岸概率不大。华为OD机试:华为OD简历被锁定机试通过,性格测试也通过,但是没人联系面试,发现简历被锁定。此时需要主动去联系HR。让他帮助你查询原因。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/12 14:56:27

Epic Games免费游戏自动获取工具:零基础到精通的完整实践指南

想要轻松获取Epic Games每周的免费游戏&#xff0c;却不想手动操作&#xff1f;Epic Games免费游戏自动获取工具正是为你量身打造的解决方案&#xff01;这款开源工具能够自动登录Epic Games Store&#xff0c;发现可领取的免费游戏&#xff0c;并为你生成预填好的结账链接。无…

作者头像 李华
网站建设 2026/8/12 17:05:48

5个实战技巧:用HunyuanVideo轻松制作艺术风格视频

在当今视频内容爆炸的时代&#xff0c;如何让你的视频在众多内容中脱颖而出&#xff1f;艺术风格化处理成为了创作者的新宠。腾讯开源的HunyuanVideo作为拥有130亿参数的大型视频生成模型&#xff0c;为普通用户提供了专业级的视频风格迁移能力。本文将为你揭秘如何用最简单的方…

作者头像 李华
网站建设 2026/8/12 15:37:12

5分钟搞定Linux调度器:从CPU争抢到公平分配的实战指南

5分钟搞定Linux调度器&#xff1a;从CPU争抢到公平分配的实战指南 【免费下载链接】linux Linux kernel source tree 项目地址: https://gitcode.com/GitHub_Trending/li/linux 你是不是经常遇到这种情况&#xff1a;服务器明明CPU使用率不高&#xff0c;但关键业务却响…

作者头像 李华
网站建设 2026/8/12 17:36:55

Atmosphere-NX固件兼容适配全攻略:从系统更新到稳定运行

当你的Switch系统升级到最新版本后&#xff0c;Atmosphere固件为何突然无法启动&#xff1f;兼容性适配过程中有哪些关键技术难题需要攻克&#xff1f;本文将以问题诊断、解决方案、实践验证的三段式结构&#xff0c;深度解析Atmosphere-NX固件兼容适配的核心技术原理与实操要点…

作者头像 李华
网站建设 2026/8/12 16:01:25

Magicodes.IE终极数据导出方案:10分钟快速上手

Magicodes.IE终极数据导出方案&#xff1a;10分钟快速上手 【免费下载链接】Magicodes.IE 项目地址: https://gitcode.com/gh_mirrors/mag/Magicodes.IE 还在为复杂的数据导入导出需求而头疼吗&#xff1f;每天面对Excel、PDF、Word等不同格式的数据处理&#xff0c;是…

作者头像 李华
网站建设 2026/8/12 16:44:38

5分钟掌握Material-intro:打造专业级应用引导页体验

5分钟掌握Material-intro&#xff1a;打造专业级应用引导页体验 【免费下载链接】material-intro A simple material design app intro with cool animations and a fluent API. 项目地址: https://gitcode.com/gh_mirrors/ma/material-intro 在移动应用竞争日益激烈的今…

作者头像 李华