最小质因子之和

news/2024/11/17 18:57:32/

题目链接

最小质因子之和(Easy Version) - 蓝桥云课 (lanqiao.cn)

解题思路

查询 T T T 2 2 2 N N N 每个数的最小质因数之和

线性筛 + 前缀和

本题我们首先需要找到能够最快求出 2 2 2 N N N 每个数最小质因数的算法,然后对于重复的查询质因数之和只需要用前缀和维护确定直接输出即可。

线性筛是一种线性复杂度的快速算法,
一种比常规欧拉筛更简便的实现。

# -*- coding: utf-8 -*-
# @Author : BYW-yuwei
# @Software: python3.8.6
def linear_sieve(n):is_prime, primes = [True] * (n + 1), []for p in range(2, n + 1):if is_prime[p]:primes.append(p)for i in range(p * p, n + 1, p):is_prime[i] = Falsereturn primes

线性筛的思想是让每个合数只被其最小质因数筛去一次,这里对于每个素数,筛去其不小于其平方,不大于上界的所有倍数。
1、首先初始化判断素数列表为真,最小质因数列表为0。
2、循环中未被标记的数为素数,显然其最小质因数为本身。
3、在素数条件下,将不小于其平方,不大于上界的所有倍数标记。
4、即同一个数仍然有可能被重复选中,仅在其未被筛过(最小质因数为初始值)时将其最小质因数赋值为该素数。
最后返回最小质因数列表。并计算存储其前缀和。

时间复杂度为 O ( N + T ) O(N + T) O(N+T)

AC_Code

python程序:

# -*- coding: utf-8 -*-
# @Author : BYW-yuwei
# @Software: python3.8.6
def sieve(n):is_prime = [True] * (n + 1)factors = [0] * (n + 1)for p in range(2, n + 1):if is_prime[p]:factors[p] = pfor i in range(p * p, n + 1, p):is_prime[i] = Falseif factors[i] == 0:factors[i] = preturn factorsif __name__ == '__main__':N = int(3e6)factors = sieve(N)s = [0] * (N + 1)for i in range(2, N + 1):s[i] = s[i - 1] + factors[i]for _ in range(int(input())):n = int(input())print(s[n])

http://www.ppmy.cn/news/560341.html

相关文章

简单图论:旅行

解题思路 最小生成树(Kruskal算法) 不同的的最小生成树: 不是连通的权重最小; 而是连通起始点和终点的路径上最大最小速度比值最小。 如何使得速度比值最小: 问题1:什么情况下比值最小? &am…

【身份证所有内容识别】Windows 10平台完整安装使用Tesseract OCR进行OCR识别

目录 一、问题描述与安装使用Tesseract OCR工具二、案例:身份证所有内容识别 python测试代码三、完整介绍tesseract.exe方法使用一、问题描述与安装使用Tesseract OCR工具 D:\Anaconda3\envs\mytf2\python.exe D:\my_project\mycv\myimagesclassification\myOCRsfz\Card-Ocr\…

简单图论:指数移动

解题思路 小明所跑的路径,可以分成几段,每一段长为 2 t 2^t 2t, 所以关键在于确定任意点对 ( i , j ) (i, j) (i,j) 点之间是否存在 2 t 2^t 2t 的路径。 由于要计算所有点对之间的路径,所以用 Floyd 算法。 1、 计算出一个新…

X310工作原理及设备描述详细信息

https://kb.ettus.com/X300/X310#Choosing_a_Host_Interface

24 - srsRAN安装部署(已支持5G NSA和SA, 原srsLTE)

24 - srsRAN安装部署(已支持5G SA/NSA, 原srsLTE ) 0.srsRAN概况硬件需求概览: 1. 仅快速体验srsLTE with USRP B2102. srsRAN源码安装2.1 安装依赖2.2 安装srsGUI可视化界面(可选,推荐)2.3 根据您的RF硬件…

修改USRPx410的ip地址

用 .\uhd_find_devices.exe查询设备 打印信息解释如下 在C:\Program Files\UHD\bin下打开powershell,输入如下指令ssh root@192.168.10.2 进入到设备内部 输入ifconfig,获取每个口的地址 输入ifconfig sfp0 192.168.10.3进行修改 重新.\uhd_find_devices.exe查询设备。 …

USRPx310的底板介绍

基于USRPx310的通用软件无线电平台 写在前面通用无线电平台USRP初识USRPx310设备 写在前面 本人通信专业硕士,近期由于项目原因,采购了几台通用无线电平台,型号是USRPx310,这个也是近年来比较火的型号。 但是感觉国内并没有系统的…

第三代USRP 产品对比

目录 1、USRP 第三代产品介绍 2、USRP E系列E3xx 3、USRP N系列N3xx 4、USRP X系列X3xx 5、对比总结 1、USRP 第三代产品介绍 USRP第三代在三个系列上都推出了相应的产品: 网络系列:N321/320,N310等 X系列:X310、X300等 嵌入式E系列…