【牛客网-小红的k次方】:避免大数问题

题目描述

小红拿到了一个长为 n 的数组 a,定义数组中所有元素的乘积为 x。小红想知道,最大的满足 x 是 30 的 k 次方的倍数(形式化的,x \mod 30^k = 0)的 k 是多少?

题目链接:小红的k次方_牛客题霸_牛客网

输入格式

  • 第一行输入一个整数 n (1≦n≦2×10^5)

  • 第二行输入 n 个整数 ai (1≦ai≦10^9)

输出格式

  • 输出一个整数,代表最大的 k

示例

输入

4

30 15 2 7

输出

2

问题分析

  1. 数据规模大:n 最大可达2×10^5 ,aᵢ 最大可达10^9

  2. 乘积极大:直接计算所有数的乘积会得到天文数字,远超任何数据类型的范围

  3. 需要高效算法:必须在 O(n) 或 O(n log n) 时间内解决问题

解题思路

第一步:数学转化

30 的质因数分解:

30=2×3×530=2×3×5

30 的 k 次方:

30^k=(2×3×5)^k=2^k×3^k×5^k

第二步:整除条件分析

设数组所有元素的乘积为 x,要使 x 能被 30^k 整除,即:

xmod 30^k=0

这意味着:

  1. x 必须包含至少 k 个因子 2

  2. x 必须包含至少 k 个因子 3

  3. x 必须包含至少 k 个因子 5

第三步:得出关键结论

设数组所有数中:

  • 因子 2 的总个数为 cnt_2

  • 因子 3 的总个数为 cnt_3

  • 因子 5 的总个数为 cnt_5

那么最大的 k 满足:

k≤cnt2 , k≤cnt3 , k≤cnt5

因此:

max k = min⁡(cnt2,cnt3,cnt5)

第四步:算法设计

基于以上分析,我们不需要计算巨大的乘积 x,只需:

  1. 遍历数组中的每个数

  2. 统计每个数中因子 2、3、5 的个数

  3. 累加得到总个数

  4. 取三个总个数的最小值

代码实现

python

n=int(input()) arr=list(map(int,input().split())) a,b,c=0,0,0 for num in arr: while num%2==0: a+=1 num//=2 while num%3==0: b+=1 num//=3 while num%5==0: c+=1 num//=5 k=min(a,b,c) print(k)

复杂度分析

时间复杂度

  • 每个数需要被2、3、5整除若干次

  • 对于每个数,循环次数最多为 log2 ai + log3 ai + log5 ai

  • 总时间复杂度:O(n × log(max(a_i)))

  • 对于 n (1≦n≦2×10^5),完全可行

空间复杂度

  • 只需常数空间存储计数:O(1)

错误反思

错误1:直接计算乘积

问题:乘积 x 可能达到(10⁹)^{2×10⁵} = 10^{9 × 2×10⁵} = 10^{1.8×10⁶},远超任何数据类型范围。

错误2:二分查找法

虽然理论上可以用二分查找 k,但需要计算 30^k 和判断整除关系,同样面临大数问题,且效率不如直接统计。

总结

本题的核心在于:

  1. 数学转化:将整除问题转化为质因数统计问题

  2. 避免大数运算:通过统计因子个数代替实际计算乘积

  3. 理解整除的本质:a 整除 b 意味着 a 的所有质因子在 b 中都以足够的幂次存在

这种"避开直接计算,转为统计特征"的思路在算法竞赛中非常常见,特别是在处理大数、乘积、最大公约数等问题时非常有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1220073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

udev 规则

4. 选择特定设备(vid=10c4, pid=ea60)的完整规则文件bash# /etc/udev/rules.d/99-silabs-usb.rules # Silicon Labs CP2102 USB-UART桥接器# 规则1:设置设备文件权限(/dev/ttyUSB*) SUBSYSTEM=="tty",…

【开源推荐】AgentForce:当 GraphRAG 遇上 Agentic Workflow,打造下一代 AI 智能体平台 - TW

摘要:传统的 RAG 系统只能“检索”片段,往往缺乏全局观。今天推荐一个基于 Python 3.12+ 和 FastAPI 构建的开源项目 AgentForce。它融合了 GraphRAG(知识图谱增强)的认知能力与 Agentic Workflow(代理工作流)的…

2026年钉钉服务商推荐:基于多行业应用评价,针对数据孤岛与效率痛点精准指南

摘要 在数字化转型浪潮中,企业选择与自身业务深度契合的钉钉生态服务商,已成为提升组织协同效率、驱动业务创新的关键决策。面对市场上数量众多、能力各异的服务伙伴,决策者常陷入信息过载与评估标准缺失的困境,难…

2026年钉钉服务商推荐:基于多行业应用评价,针对定制开发与数据安全痛点精准指南

摘要 在数字化转型浪潮中,企业选择与自身需求高度匹配的钉钉生态服务商,已成为提升组织协同效率、实现业务在线化的关键决策。面对市场上数量众多、能力各异的服务伙伴,决策者常陷入信息过载与选择困难的境地,担忧…

2026年青岛全屋定制品牌推荐榜单:基于10大核心指标解析

当居住品质成为家庭生活的核心追求,全屋定制已从家居装修的“可选项目”升级为“品质刚需”。行业数据显示,2026年中国高端定制家居市场规模预计将持续增长,但市场服务商水平参差不齐,头部服务商与普通服务者的方案…

2026年制氮机厂家最新推荐:vpsa真空变压吸附式工业制氧机、中型工业制氧机、大型工业制氧站、小型工业制氧机选择指南

2026医药高纯度制氮机厂家推荐榜 - 合规与性能双优一、行业背景与选型痛点《2026中国医药制造业气体应用白皮书》数据显示,2026年国内医药行业氮气需求量同比增长18%,其中99.99%以上高纯度氮气占比超60%。在药品生产…

兜兜英语词根词缀拆解工具:用构词法学英语,让单词记忆有根可循

告别死记硬背,探索单词构成的科学规律 在现代英语学习中,词汇积累始终是学习者面临的核心挑战。传统的记忆方法往往依赖重复诵读与机械记忆,效率低下且容易遗忘。针对这一痛点,兜兜英语词根词缀拆解工具应运而生,为英语…

2026年天虹购物卡回收三种主流方式与难易程度

2026年天虹购物卡回收三种主流方式与难易程度黄晓晓整理钱包时,再次发现了那张闲置的天虹购物卡。卡面依旧崭新,却已在角落沉寂许久。像许多人一样,她开始思考如何为这张卡片找到新去处。天虹购物卡回收的需求在生活…

2026增压器实力厂家新动态:谁在领跑市场?金刚炮升压器/纽荷兰增压器/天龙增压器/欧曼增压器,增压器厂商找哪家

引言 增压器在汽车、工程机械、船舶等众多工业生产领域中起着至关重要的作用。它能够有效提升发动机的功率和扭矩,保障相关行业设备的高效运行,改善设备的整体性能与作业效率。本次增压器相关测评数据来源于国内相关…

软件工程毕业设计选题指南:基于 Web 管理系统的项目方向解析

本文面向正在准备毕业设计选题的计算机专业本科生与专科生,尤其是对项目方向感到迷茫、担心题目难度失控或无法顺利通过开题的同学。我在过去为多位同学提供毕业设计规划指导时,发现大家普遍卡在“题目该不该偏工程”“系统要做到什么复杂程度”“导师更…

2026年锡柴国六涡轮增压器生产厂家优质排行揭秘,农机增压器/福康增压器/威孚增压器,涡轮增压器维修排行

在当今汽车工业飞速发展的时代,涡轮增压器作为提升发动机性能的关键部件,其市场需求日益增长。尤其是随着国六排放标准的全面实施,锡柴国六涡轮增压器更是成为了市场的焦点。然而,市场上众多的生产厂家让采购方在选…

2026年青岛全屋定制品牌推荐:基于环保与耐用性评测,解决居家健康与维护痛点指南

伴随居住消费升级与审美意识觉醒,全屋定制已从单一柜类供应演进为整体生活方式的系统集成,2026年的青岛市场中,消费者面临品牌众多、服务链路复杂、落地效果不确定等诸多选型挑战;本报告通过系统性市场调研建立多维…

2026专业制氮机公司推荐榜 适配多行业需求

2026专业制氮机公司推荐榜行业背景与筛选维度据《2026-2030年中国空分设备行业发展白皮书》显示,国内工业制氮机市场年复合增长率达8.2%,化工、食品、医药等行业对高纯度、特殊工况适配的制氮设备需求持续攀升。 当前…

2026年青岛全屋定制品牌推荐:针对大宅与平层场景深度评价,解决交付不确定性与风格割裂痛点

随着居住消费理念的持续升级,全屋定制已从单一的功能柜体解决方案,演进为关乎整体生活方式与空间美学的系统性工程。尤其在高端私宅领域,消费者追求的不仅是产品的堆砌,更是一套能够完整兑现其生活想象、具备高度确…

2026年1月卡特涡轮增压器厂商排行榜单,这些厂家值得关注,潍柴p10H.5增压器,涡轮增压器实力厂家怎么选择

随着全球汽车工业向节能减排与动力性能双优方向加速转型,涡轮增压器作为提升内燃机效率的核心部件,市场需求持续攀升。尤其在卡特彼勒等工程机械巨头的技术驱动下,适配重载、高负荷场景的涡轮增压器成为行业焦点。然…

亲身经历:XinServer 如何帮我快速交付项目

亲身经历:XinServer 如何帮我快速交付项目 兄弟们,不知道你们有没有经历过这种场景:产品经理或者客户那边需求催得紧,要一个带用户管理、权限控制、数据报表的后台,或者给App快速搞一套增删改查的接口。你作为前端或者…

2026年 最新谷歌商店解决办法,谷歌三件套问题汇总,各种情况都在这里了。

最终要达到的效果 添加图片注释,不超过 140 字(可选) 解决方案 这里是重点,通过这里来决定自己的安装方式。 开始教程 添加图片注释,不超过 140 字(可选) 目前打包到一起了 所有文件地址 添加…

2026年智慧应急一体化综合解决方案 - 全1085页下载

引言 在全球极端事件频发与数字化转型加速的双重背景下,传统应急管理模式面临跨部门协同低效、预警响应滞后、数据孤岛突出等多重挑战。而随着科技的飞速发展和社会对应急管理要求的不断提高,智慧应急已成为提升应急管理效率、保障人民生命财产安全的重…

阿姆智创21.5寸平板工控一体机,解锁工业智能新场景

在智能制造加速迭代的今天,工业控制终端的稳定性、适配性与定制化能力成为企业提升生产效率的关键。阿姆智创21.5寸平板工控一体机,以硬核性能、创新无风扇散热技术及全方位的ODM定制服务,深度适配自动化生产线、智能分拣机、机器视觉设备等核…

医疗信息化实战项目 | 数字化产科平台(门诊+住院+数据统计)完整源码

系统概述: 数字化产科管理平台是一款集孕期建档、产检随访、健康宣教、住院分娩及产后42天管理于一体的全周期专科管理系统。平台涵盖门诊、住院及数据统计三大核心模块,并与院内HIS、LIS、PACS等系统无缝对接,实现以孕产妇为中心的一体化、…