华为面试手撕真题【求1-n的最小公倍数】

华为OD面试手撕真题题库&八股文
专栏收录该内容
¥49.90
¥99.00
125 篇文章

输入一个n (1 <= n <= 10000)
求能整除1-n的最小正整数,即最小公倍数

数学要学好,互质的两个数的最小公倍数就是两个相乘,之后在考虑合数。

我们先使用筛法筛出质数,合数中又可以分为两类,一类是合数等于一个质数的k次方,也就是说他和其中一个质数的最小公倍数等于他本身,另一类则可以用质数和质数相乘表示,化简可以变成1。

举个例子,1-10的最小公倍数,lcm(1 2 3 4 5 6 7 8 9 10) 可以化为 lcm(1 1 1 1 5 1 7 8 9 1)相乘。

首先6是2和3的最小公倍数,所以2和3同时存在的时候,6就可以去掉,保留2和3即可。

10也同理,2和5就可以i表示10。

然后再来某个数字是某个素数的k次方的,当该数字存在时,他的那个素数因子就可以被去掉,例如4,8。因为8是2的3次方,4是2的2次方,当4存在的时候可以直接把2删去,当8存在的时候可以把4删去。

故而我们得到lcm[1,10]的最小公倍数为5*7*8*9 = 2520。

因此我们只需要用n以内所有质数的小于n的k次方那个数来替换质数即可。

1-n的最小公倍数(华为OD面试真题) 华为OD面试代码真题 1-n的最小公倍数 1.3k 阅读·25 点赞·20 收藏 阅读详情

相关推荐

2023华为OD面试代码经验分享

华为OD 面试代码经验分享

MISAYAONE的博客 3万+

2026华为OD面试代码真题目录

一般面试的时候每一轮技术面都会出一到两个代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,很注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),代码题会给你后面的面试一个基调。

MISAYAONE的博客 9万+

2023华为OD面试真题【找最大连续子串】

2023华为OD面试真题【找最大连续子串】

MISAYAONE的博客 3335

【c++】1-n的最小公倍数

实现 输入一个n (1 &lt;= n &lt;= 10000) 整除1-n的最小正整数,即最小公倍数 由于数可能比较大,输出结果mod987654321 eg. 输入:3 输出:6 (6是能整除1,2,3的最小正整数) Hint: 我们知道两个数a,b的最小公倍数是a∗bgcd(a,b)a∗bgcd(a,b)\frac{a*b}{gcd(a,...

Ulricalin的博客 5674

华为od项目

本来以为到这里就算挂了的。5.19 三面,面试官问的比较底层,大多数问题都答出来了,但不是很完美,有一个没答出来的是:错误处理机制errorCaptured、errorHandler,毕竟我实在没用过,接下来就是一道算法题,当时面试官问我有没有刷过leetcode,我说刷了600道题,然后他就让我共享桌面,让我搜一道没做过的题目,给了一个题号是一道简单题,( 2243. 计算字符串的数字和 ),七八分钟直接就用递归做出来了,然后面试官看了一下解答思路,就针对我的答案挑我的编码规范的问题,我只能欣然接受呗。.

我的博客简介 1万+

华为机试-最小公倍数

题目描述 正整数A和正整数B的最小公倍数是指能被A和B整除最小正整数值,设计一个算法输入A和B的最小公倍数输入描述: 输入两个正整数A和B。 输出描述: 输出A和B的最小公倍数。 示例1 输入 5 7 输出 35 最大公约数:更相减损法、辗转相除法 最小公倍数:(a*b)/最大公约数 更相减损法是拿两个数中的较大值减去较小值,然后在减数、被减数、差之间选取两个较小值继续相减,直到减数和被减数相等,得出的数就是最大公约数。 import java.uti..

qq_39622795的博客 282

华为机试-108-简单-HJ108.最小公倍数

【代码】华为机试-108-简单-HJ108.最小公倍数

tttzzzqqq2018的博客 444

2024华为OD面试真题两数最小公倍数

华为OD技术一面中的一个题,两数公倍数。

MISAYAONE的博客 2048

实习校招面试代码真题题型2——数学题

实习校招面试代码真题题型2——数学题

zhouwenxing666的博客 1048

华为OD技术面真题

给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第 i 天,下一个更高温度出现在几天后。给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集,不能包含重复的子集,子集可以按任意顺序排列。两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小一个公倍数就叫做这几个整数的最小公倍数。排序后,原位置是数字的,排序后仍然是数字;给定一个1G大小的文件,每行1个单词,统计出现次数最多的前n个单词及数量。

Java/Python大数据随笔 557

凭借这份Java算法笔记,三个月吃透并面试字节,成功拿到45Koffer!

切莫死记硬背,小心面试官直接让你出门右拐1000道互联网Java面试题:

2401_84024148的博客 997

26天吃透算法笔记,面试字节,java面试有几轮

每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?

m0_57473261的博客 915

蓝桥杯国赛真题精解:Java算法核心考点与实战优化策略

算法是计算机科学的核心基础,其本质是通过一系列指令高效解决特定问题的计算模型。从数据结构到经典算法思想,如动态规划和搜索,其原理在于通过优化状态转移或遍历策略,将复杂问题分解为可管理的子问题。掌握这些算法能极大提升程序效率与问题解决能力,在软件开发、人工智能、大数据分析等场景中至关重要。本文以2019年蓝桥杯国赛Java C组真题为具体载体,深入剖析动态规划的状态定义与空间优化技巧,并结合搜索算法(DFS/BFS)的应用场景抉择,为开发者提供一套从理解题意到性能优化的系统解题框架,助力算法思维与工程实践能力

weixin_33907511的博客 386

网易C++校招笔试备考指南:题型解析与高频考点精讲

在C++开发工程师的校招笔试中,扎实的语言基础和系统化的知识框架是脱颖而出的关键。从内存管理、STL底层原理到多线程并发控制,C++八股文考察的不仅是概念记忆,更是对编译链接、对象生命周期及运行期行为的深度理解。同时,设计模式与回调函数等工程化知识,往往以场景嵌入方式出现在选择题中,考验候选人的技术决策能力。掌握这些核心知识点的原理与应用场景,配合算法题的实战演练,能够有效应对大厂笔试中的综合体检。本文结合网易C++笔试的典型题型,拆解高频考点与备考策略,帮助职者构建完整的复习路径,从容应对从基础八股到工

WGH100817的博客 449

华为OD 技术综合面,代码真题整理(二):最大子数组和 | 两数之和

华为od代码真题,每篇博客含2道真题,来源华为候选人反馈~

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1765

2025华为OD面试代码真题目录、八股文真题目录以及面试技巧

1. **华为OD面试技术面准备指南** 2. **华为OD面试技术面常见问题解答** 3. **华为OD面试技术面经验分享** 4. **华为OD面试技术面注意事项** 5. **华为OD面试技术面攻略** 6. **华为OD面试技术面模拟题目与解析** 7. **华为OD面试技术面知识点梳理** 8. **华为OD面试技术面常考**

算法大师! 3万+

华为OD 面试代码真题【分发糖果】

华为OD 面试代码真题【分发糖果】

MISAYAONE的博客 1万+

371.两个整数之和-力扣leetcode

题目 :给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和。 当时看到两个数和我惊了,还有这题??后来仔细发现不能用运算符,那么就有意思了 这题需要用到位运算的知识: 预备知识 有符号整数通常用补码来表示和存储,补码具有如下特征: 正整数的补码与原码相同;负整数的补码为其原码除符号位外的所有位取反后加 11。 可以将减法运算转化为补码的加法运算来实现。 符号位与数值位可以一起参与运算。 思路和算法 虽然题目只要了不能使用运算符+ 和 -,但是原则上来说也...

qq_46035273的博客 438

2023华为OD 面试代码真题【O(n)时间内和为target两个数】

2023华为OD 面试代码真题【O(n)时间内和为target两个数】

MISAYAONE的博客 5248
上一篇: 华为面试手撕真题【判断是ipv4还是ipv6地址】
下一篇: 2026华为OD面试手撕代码真题目录
MISAYAONE
博客等级 码龄11年 2万+粉丝 4055原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MISAYAONE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值