![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
华为机试
文章平均质量分 61
林坤鹏kplin
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
质数相关算法:质数相关数学知识和常见题目求解
质数求解常用的数学相关知识:一、什么是质数?什么是合数?什么是质因子(自己百度)1、质数也叫素数,只能被1和自己整除,例如 2和3。2、整数1不是质数。3、合数除了能被1和自己整除之外,还能被其他小于自己的整数整除,例如:4 =2*2。4、对于一个整数n,可以分解为2个以上的整数相乘,分解出来的整数称为n的因子,其中为质数的,称为质数因子,也叫质因子,合数的称为合数因子。二、因式分解的常识对整数number进行因式分解时,如果我们分解出一个小于根号number的因子,必然会有一个大于根号num原创 2022-02-17 17:44:33 · 634 阅读 · 0 评论 -
质数相关算法:求整数n的所有质因子
题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格数据范围: 1≤n≤2×10**9+14输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入:180输出:2 2 3 3 5整数质因子的核心判断:1、能被该整数整除;2、是质数(素数)思路一:1、先找出该整数下的所有质数,再逐一判断是否能被该整数整除,原创 2022-02-17 17:37:03 · 4260 阅读 · 0 评论 -
质数相关算法:统计小于整数n的质数个数
问题:现给定一个大于1的整数 N,求出小于N 的质数的个数。例如:输入 10输出:4(2,3,5,7)输入:20输出: 8(2,3,5,7,11,13,17,19)以下介绍5种算法,前3种思路一致,主要是效率的差异;第5种采用了埃拉托斯特尼筛法进行计算(比较巧妙)算法1:针对小于N的每个正整数x,我们可以遍历从2到x-1遍历去试除,当出现一个数能被整除,那这个数就不是质数;当然这种方法也是最容易想到的方法,但效率也是最低的方法;代码如下:def prime(n): m = 0原创 2022-02-17 17:31:22 · 963 阅读 · 0 评论 -
质数相关算法:判断是否为质数的方法
1、试除法:根据定义循环判断该数除以比他小的每个自然数(大于1),如果有能被他整除的就不是质数。缺点:如果只用试除法,时间复杂度较大,为n# 判断一个数是不是素数# 算法1:时间复杂度较大,为ndef is_prime1(num): '''循环遍历小于该数的所有整数,除了1和它本身之外,如果有其他数能被它整除,它就不是质数''' if num <= 1: return False for i in range(2, num): if n原创 2022-02-17 17:19:05 · 1000 阅读 · 0 评论 -
说说华为机试注意点以及三道题的解题思路
最近有机会尝试做了一下华为机试题,感觉整个过程还是挺有意思的,分享一下经历。前面说一下体验和注意点,后面附上题目和解题思路,本文使用python解题一、体验和一些注意点1、总体的感觉:难度比预想的小挺多,练习题有些很难的,涉及算法啥的,实际没有考到。做是能做出来的,最后一道题测试用例有些没通过,应该是场景考虑不够全面。2、题型:考试时长180分钟。三道应用编程题,生活中的问题,用程序解决。前两道各100分,第三道200分。前两道相对简单点,第三道可能会涉及到比较难的算法。可以自由选择编程语言,例原创 2021-04-09 06:25:44 · 33271 阅读 · 21 评论