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

P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python

[蓝桥杯 2020 省 B1] 整除序列

题目描述

有一个序列,序列的第一个数是 n n n,后面的每个数是前一个数整除 2 2 2,请输出这个序列中值为正数的项。

输入格式

输入一行包含一个整数 n n n

输出格式

输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。

样例 #1

样例输入 #1

20

样例输出 #1

20 10 5 2 1

提示

对于 80 % 80\% 80% 的评测用例, 1 ≤ n ≤ 1 0 9 1\le n\le10^9 1n109

对于所有评测用例, 1 ≤ n ≤ 1 0 18 1\le n\le10^{18} 1n1018

蓝桥杯 2020 第一轮省赛 B 组 F 题。

正确答案

import math
n = int(input())s= [n]
while n>1:n = n//2s.append(n)for i in s:print(i,end = " ")

80分的答案

import math
n = int(input())
s = [n]
while n>1:n = math.floor(n/2)s.append(n)
for i in s:print(i,end = " ")

两者的区别在于对n的计算上,正确答案的计算是n//2。 80的答案 是math.floor(n/2)对n/2向下取整
在效果上,两者是一样的,但不知为什么会有一个错误。

math.floor()在处理非常大的整数时,会遇到精度问题,可能会影响结果。一般的整除计算还是用//比较好。

http://www.lryc.cn/news/320951.html

相关文章:

  • 「Linux系列」聊聊vi/vim的3种命令模式
  • 密码学——数字签名
  • 【Mysql事务】
  • 从SQL质量管理体系来看SQL审核(2) - SQL质量标准
  • idea远程试调jar、远程试调war
  • hdlbits系列verilog解答(Gatesv)-58
  • pdf文件属性的删除
  • OpenAI 的 GPTs 提示词泄露攻击与防护实战:防御卷(二)
  • mysql update set时使用and连接使更新的数据出现问题
  • 高职(大专)教师结构化面试之复习攻略
  • 蓝桥杯C++大学B组一个月冲刺记录2024/3/18
  • 科技云报道:第五次工业革命,中国AI企业如何打造新质生产力?
  • 图片怎么转jpg格式?一键完成图片格式转换
  • Qt笔记 信号和槽
  • 后端配置拦截器的一个问题【问题】
  • C++提高笔记(六)---STL函数对象、STL常用算法(遍历、查找)
  • 【每日一问】手机如何开启USB调试?
  • Java映射知识点(含面试大厂题含源码)
  • 拆解Spring boot:Springboot为什么如此丝滑而简单?源码剖析解读自动装配
  • 中国银行信息系统应用架构发展历程
  • 掌握Go语言:探索Go语言指针,解锁高效内存操作与动态数据结构的奥秘(19)
  • 大数据面试题 —— Zookeeper
  • 【安全类书籍-6】僵尸网络:网络程序杀手
  • 文件的创建与删除
  • 图论题目集一(代码 注解)
  • 解释MVC和MVVM架构模式
  • OLLAMA:如何像云端一样运行本地大语言模型
  • React全家桶及原理解析-lesson4-Redux
  • 电商api数据接口技术开发来赞达lazada通过商品ID抓取商品详情信息item_get请求key接入演示
  • 零基础入门多媒体音频(2)-音频焦点2