当前位置: 首页 > news >正文

蓝桥杯 算法提高 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.lryc.cn/news/345155.html

相关文章:

  • 阿里巴巴杭州全球总部正式启用,创新“减碳大脑”科技减碳 | 最新快讯
  • 蓝桥杯国赛练习题真题Java(矩阵计数)
  • 概念解析 | ROC曲线:评估分类模型
  • 数据可视化训练第二天(对比Python与numpy中的ndarray的效率并且可视化表示)
  • 【Java EE】数据库连接池详解
  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.4讲 GPIO中断实验-IRQ中断服务函数详解
  • 如何平衡RPA机器人的安全性与业务敏捷性,同时不牺牲用户体验?
  • 地球行星UE5和UE4
  • 7.k8s中的名称空间namespace
  • 上海企业源代码防泄密解决方案,企业源代码防泄密如何应对?
  • 将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 4
  • OpenSearch 与 Elasticsearch:7 个主要差异及如何选择
  • [Docker]容器的网络类型以及云计算
  • VMP 简单源码分析(.net)
  • 数据结构与算法学习笔记-二叉树的顺序存储表示法和实现(C语言)
  • 如何在Windows和Linux中杀死Python进程
  • 零基础怎么快速进行单细胞分析?
  • 力扣数据库题库学习(5.10日)--1965. 丢失信息的雇员
  • 漫威争锋Marvel Rivals怎么搜索 锁区怎么搜 游戏搜不到怎么办
  • SpringBoot实现统一返回值+全局异常处理
  • windows连接CentOS数据库或Tomcat报错,IP通的,端口正常监听
  • 超详细的胎教级Stable Diffusion使用教程(一)
  • 流媒体服务器(20)—— mediasoup 之媒体流score评分计算(一)
  • 用keras识别狗狗
  • Sass语法介绍-变量介绍
  • 可调恒流电子负载的基础认识
  • 开源模型应用落地-模型记忆增强-概念篇(一)
  • SAPUI5基础知识1 - 概览,库,支持工具,自学教程
  • 常见的获取dom元素的方法
  • 走进CHEN MEI HUA的设计哲学:书写东方女性力量与态度的时尚篇章