蓝桥杯 算法提高 ADV-1170 阶乘测试 python AC

找规律题,遍历i中有几个m就加几,和m的多少次数有关

第一版👇

try:while True:n, m = map(int, input().split())ll = [i for i in range(1, n + 1) if i % m == 0]ans = len(ll)M = mwhile ll:lll = []M *= mfor i in ll:if i % M == 0:lll.append(i)ans += 1ll = lllprint(ans)
except:pass

不出意外地超时,怎么办,大脑停止思考...上网搜~~

搜不到。。。继续优化,先把m小于n的所有?次方数存到数组中,再在遍历的时候依次判断能否整除数组中的m的?次方(二次方中有两个m,三次方中有三个m,数组为[m, m^2, m^3, m^4.....],每能整除一个数组中的数就+1),并且还能在遍历的时候直接按步长m遍历(步长m之外的数必不是m的倍数)

第二版👇

try:while True:n, m = map(int, input().split())num = 1ll = []while num * m <= n:num *= mll.append(num)ans = 0for i in range(m, n+1, m):for j in ll:if i % j == 0:ans += 1print(ans)
except:pass

似乎有所改善,但是依旧超时,而且答案似对非对...

看着数组突然想起来刚才修改的步长m,好像可以直接判断n中有几个m?次方的步长(依次判断数组中元素),第三版👇

try:while True:n, m = map(int, input().split())num = 1ll = []while num * m <= n:num *= mll.append(num)ans = 0for i in ll:ans += n // iprint(ans)
except:pass

好,能秒出答案了,欸,为什么0分,下载测试点看看?一看吓一跳,答案一堆错的,但是仔细观察发现好像答案都是在测试点里的,但是顺序不一样,开始怀疑python会不会在输出的时候先把用时慢的输出了,于是把所有输入保存到列表里,输入完了再开始运行,但是还是不对...在观察许久后发现,系统测试答案好像不太对,但是好像又有点规律,然后发现不知道为什么系统每两次输入才输出一个答案......(被这东西卡了,逆天)

最终AC版👇

arr = []
try:while True:n, m = map(int, input().split())arr.append((n, m))
except:pass
step = 1
for n, m in arr:step += 1if step % 2 == 0:continuenum = 1ll = []while num * m <= n:num *= mll.append(num)ans = 0for i in ll:ans += n // iprint(ans)

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

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

相关文章

OKHTTP 3.12.0 以后版本 headers 中不可携带中文

今天遇到的报错&#xff1a; java.lang.llegalArgumentException: Unexpected char 0x957f at 0 in x-brand value: 电视堆栈 okhttp3.Headers.checkValue(Headers.java:272) okhttp3.Headers$Builder.add(Headers.java:312) okhttp3.Request$Builder.addHeader(Request.iava:…

linux如何查看websocket的连接

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

MySQL数据库——基础事务操作-BEGIN-COMMIT-ROLLBACK

DDL CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT COMMENT 学号,createDate datetime DEFAULT NULL,userName varchar(20) DEFAULT NULL,pwd varchar(36) DEFAULT NULL,phone varchar(11) DEFAULT NULL,age tinyint(3) unsigned DEFAULT NULL,sex char(2) DEFAU…

随便写点东西

1 react的高阶组件 1.1 操纵组件的props、对组件的props进行增删&#xff1b; 1.2 复用组件逻辑 服用的组件逻辑&#xff0c;互不影响&#xff1b;比如高阶组件中复用了input框&#xff0c;输入内容是互不影响的&#xff1b; 1.3 可以通过配置装饰器来实现高阶组件&#xff08…

内存卡不小心格式化了怎么办?3个方法解决数据丢失问题!

“很奇怪&#xff0c;我的内存卡不小心中病毒了&#xff0c;刚刚在清理病毒时不小心把内存卡格式化了。我保存了很多重要的数据在里面&#xff0c;还有方法可以恢复这些数据吗&#xff1f;” 在数字设备日益普及的今天&#xff0c;内存卡已成为我们存储和传输数据的重要工具。但…

界面控件开发包DevExpress v23.2.6全新发布|附高速下载

DevExpress拥有.NET开发需要的所有平台控件&#xff0c;包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。 屡获大奖的软件开发平台DevExpress 近期重要版本v23.2已正式发布&#xff0c;该版本拥有众多新…

笨方法自学python(五)

字符串和文本 在这章习题中我们将使用复杂的字符串来建立一系列的变量&#xff0c;从中你将学到它们的用途。首先我们解释一下字符串是什么 东西。 字符串通常是指你想要展示给别人的、或者是你想要从程序里“导出”的一小段字符。Python 可以通过文本里的双引号 " 或者单…

单片机如何扩展 I/O 接口

单片机可以通过以下几种方式扩展I/O接口&#xff1a; 1. 并行扩展&#xff1a;使用并行接口芯片&#xff0c;例如74HC595、74HC164等&#xff0c;将单片机的少量I/O引脚扩展成多个I/O引脚。这些并行接口芯片具有串行输入和并行输出的功能&#xff0c;通过单片机的少量引脚来控…

linux服务器中通过pm2启动通过koa框架托管的vue项目命令总结

vue项目部署到linux服务器&#xff0c;一般来说&#xff0c;我们可以通过koa框架来托管打包后的vue项目,那么如何何启动&#xff0c;关闭呢&#xff1a; 今天我们来总结一下&#xff1a; 1、安装 PM2&#xff1a;如果你还没有安装 PM2&#xff0c;请使用以下命令进行安装&…

成为一名算法工程师需要掌握哪些技术栈

成为算法工程师需要学习的编程技能主要包括以下几个方面&#xff1a; Python&#xff1a;Python是算法工程师最常使用的编程语言之一。它拥有简洁易读的语法和丰富的库&#xff0c;如NumPy、Pandas、SciPy、Matplotlib等&#xff0c;这些库为数据处理、科学计算和可视化提供了…

【刷题】代码随想录算法训练营第三十五天|435、无重叠区间,763、划分字母区间 ,56、合并区间

目录 435、无重叠区间763、划分字母区间56、合并区间 435、无重叠区间 讲解&#xff1a;https://programmercarl.com/0435.%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4.html 左边界和有边界排序&#xff0c;注意sort的排序规则函数编写。 class Solution { public:// 按照…

C#开发的网络速度计 - 开源研究系列文章 - 个人小作品

上次发布了一个获取网络速度的例子( https://www.cnblogs.com/lzhdim/p/18167854 )&#xff0c;就是为了这次这个例子。用于在托盘里显示网络速度的图标&#xff0c;并且能够显示网络速度。下面就介绍一下这个小应用的源码。 1、 项目目录&#xff1b; 2、 源码介绍&#xff1b…

100个3D模型免费下载

老子云平台&#x1f4e2;周5⃣福利日 | 划重点&#xff01;高质量3D模型资源包免费领&#x1f6d2;✅涵盖全行业资源&#x1f195;✅100个高质量3D模型❗✅关注下方公众号即可免费下载 老子云https://www.laozicloud.com/

代码审计-PHP模型开发篇动态调试反序列化变量覆盖TP框架原生POP链

知识点 1、PHP审计-动态调试-变量覆盖 2、PHP审计-动态调试-原生反序列化 3、PHP审计-动态调试-框架反序列化PHP常见漏洞关键字 SQL注入&#xff1a; select insert update delete mysql_query mysqli等 文件上传&#xff1a; $_FILES&#xff0c;type"file"&…

QMetaObject 是 Qt 框架中的一个重要类,用于在运行时处理对象的元对象信息

QMetaObject 是 Qt 框架中的一个重要类&#xff0c;用于在运行时处理对象的元对象信息。每个继承自 QObject 的类在 Qt 中都有一个对应的 QMetaObject&#xff0c;用于存储该类的元对象信息&#xff0c;包括类名、父类、信号和槽等。 以下是 QMetaObject 类的一些主要功能和用…

linux搭建solr,使用java进行索引增删改查

在linux系统上搭建solr&#xff0c;并且使用ik分词&#xff0c;添加数据导入&#xff0c;使用java代码实现增删改查相关功能。 1.solr下载 下载solr的tar包&#xff1a;https://archive.apache.org/dist/lucene/solr&#xff0c;根据所需下载具体的版本呢 下载IK分词jar包&a…

Jupyter配置远程访问的密码

安装 下载Anaconda的.sh文件后&#xff0c;上传到服务器&#xff0c;然后进行安装&#xff1a; chmod x anaconda.sh ./anaconda.sh创建虚拟环境 可以指定Python版本创建虚拟环境&#xff1a; conda create --name langchain python3.11.7 conda activate langchain conda …

【Web前端】JavaScript交互编程

1.与html控件交互 使用document.getElementById(id名)获取控件使用document.getElementById(id名).value 获取控件值使用document.getElementById(id名).value给定值 设置控件值 2.使用js改变css 通过document.getElementById(id值).style.css属性名值 改变css 通过 document.g…

ArcGIS如何计算地级市间的距离

一、数据准备 加载配套实验数据包中的地级市和行政区划矢量数据(订阅专栏后,从私信查收数据),如下图所示: 二、计算距离 1. 计算邻近表 ArcGIS提供了计算点和另外点之间距离的工具:分析工具→邻域分析→生成临近表。 计算一个或多个要素类或图层中的要素间距离和其他邻…

QT 静态单例与对象管理机制导致的指针重复释放问题

这是我在应用中发现的问题&#xff0c;以此记录下。 当我使用Qt创建一个单例dialog时&#xff0c;为了给其设置父对象&#xff0c;我使用了setParent(this)。但由于同时这个单例dialog是个静态对象&#xff0c;使得dialog对象指针被重复释放。 //在waitingdlg.h中 static Wai…