首页 > 编程语言 >献芹奏曝-Python面试题-算法-数学篇

献芹奏曝-Python面试题-算法-数学篇

时间:2022-12-13 17:15:16浏览次数:82  
标签:prime index 面试题 Python 质数 count 献芹 int str

上一篇:献芹奏曝-Python面试题 

      开篇的话:本文目的是收集和归纳力扣上的算法题,希望用python语言,竭我所能做到思路最清奇、代码最简洁、方法最广泛、性能最高效,了解常见题目,找到最利于记忆的答案,更加从容的应对面试。希望广思集益,共同进步。

一、质数

204. 计数质数(难度系数✯✯) 

class Solution:
    def countPrimes(self, n: int) -> int:
        # 何为质数:除了1和它本身外,不能被其他自然数(质数)整除
        count = 0
        if n<2:
            return count
        for i in range(2,n):
            j = 2
            while j<i:
                if i%j == 0:
                    break
                j += 1
            else:
                count += 1
        return count 
方法一:暴力破解

运行结果:1:超时 

知识点/技巧:1:何为质数:除了1和它本身外,不能被其他自然数(质数)整除

class Solution:
    def countPrimes(self, n: int) -> int:
        # 何为质数:除了1和它本身外,不能被其他自然数(质数)整除
        count = 0
        r_list = [True]*n
        for index in range(2,n):
            if r_list[index]:
                count += 1
                for i in range(index*index,n,index):
                    r_list[i] = False            
        return count 
埃氏筛选法

运行结果:1:耗时超过67%。2:内存超过58% 

知识点/技巧:1:埃氏筛选法

 HJ6 质数因子(难度系数✯✯) 

import sys
import math

for line in sys.stdin:
    a = int(line.strip())
    prime = 2
    an_str = ""
    while prime < int(math.sqrt(a))+1:
        if a%prime !=0:
            prime += 1
        else:
            a = a//prime
            an_str += str(prime)+' '
            prime = 2
    if a > 2:
        an_str += str(a)
    print(an_str)
View Code

知识点/技巧:1:先用开方缩小范围

 

标签:prime,index,面试题,Python,质数,count,献芹,int,str
From: https://www.cnblogs.com/YK2012/p/16951543.html

相关文章

  • 献芹奏曝-Python面试题-算法-背包问题
    上一篇:献芹奏曝-Python面试题    开篇的话:本文目的是收集和归纳力扣上的算法题,希望用python语言,竭我所能做到思路最清奇、代码最简洁、方法最广泛、性能最高效,了解......
  • Python之退出函数
    有时候需要写的pythonexe有返回值,今天就看了下,发现了一个函数sys.exit(),用起来还可以,但是有个问题。如果你需要用十六进制的数退出的话,不要超过0x7fffffff。因为sys.exit(......
  • python下的符号函数
    一、符号函数的入门:1、符号函数使用准备,导库from sympy import*2、定义符号x,y,z=symbols('xyz')3、应用符号e=cos(x)+14、画符号函数的......
  • Python字符串格式化的三种方式
     #方式一:%name='张三'age=20score=22.556print('%s的年龄为:%d,成绩%f'%(name,age,score))#%3s为此处占3个字符位,不够3位前面空位#%04d为此处占4个......
  • python及pycharm虚拟环境配置
    python虚拟环境"""在实际项目开发中,我么只会给项目配备其所需的环境,所以就需要虚拟环境"""#1.什么是虚拟环境?能够针对相同版本的解释器创建多个分身,每个分身可......
  • win102-Windows环境下pycharnpython安装版下载、配置(win10-x64位32g内存)
    win102-Windows环境下pycharnpython安装版下载、配置(win10-x64位32g内存)1、建议首先安装anaconda(注意配置path环境)。  python国内镜像地址:http://npm.taobao.org/mirr......
  • python基础
    python基础1.0:python的起源1991年,第一个python解释器诞生,他是用C语言实现的,并能够调用c语言的库文件1.1:解释器​计算机不能直接理解任何除机器语言外的语言,所以必须要......
  • Selenium4+Python3系列(十三) - 与docker中的jenkins持续集成
    前言文章更新到这一篇时,其实我还是很开心的,因为这也正是这系列教程的最后一篇文章,也算是完成了一个阶段性的小目标,也很感谢那些愿意看我文章与我交流学习的同学,感谢有你们......
  • python在pycharm写好程序后,简单的部署方法-非生产环境
    这里说的简单,是真正的简单,不是那种长篇大论方法一:打开cmd,或者用pycharm打开终端,安装pyinstaller详见,http://c.biancheng.net/view/2690.html这种方法可以生成独立的exe......
  • python 取整方法
    1、向下取整:int()2、向上取整:ceil()使用ceil()方法时需要导入math模块,例如3、四舍五入:round()4、分别取将整数部分和小数部分分别取出,可以使用math模块中的modf(......