首页 > 编程语言 >蓝桥杯备战日志(Python)18-第几个幸运数字-(枚举只含某些因子的整数)

蓝桥杯备战日志(Python)18-第几个幸运数字-(枚举只含某些因子的整数)

时间:2023-02-26 18:31:57浏览次数:61  
标签:log Python 整数 蓝桥 int 数字 幸运 第几个

第几个幸运数字

原题

到 X 星球旅行的游客都被发给一个整数,作为游客编号。

X 星的国王有个怪癖,他只喜欢数字 3,5 和 7。

国王规定,游客的编号如果只含有因子:3,5,7就可以获得一份奖品。

我们来看前 10 个幸运数字是:

3 5 7 9 15 21 25 27 35 45

因而第 11 个幸运数字是: 49

小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。

请你帮小明计算一下,59084709587505是第几个幸运数字。


分析

首先需要理解这里的“幸运数字”的含义:只能被1、3、5、7和数字本身整除的整数,1和数字本身可以忽略(所有整数都能被1和其本身整除)。题意需要求幸运数字n=59084709587505是第几个“幸运数字”,即求出n以内(包含n)有多少个“幸运数字”

解题的关键点在于:根据因子3、5、7计算出“幸运数字”,然后统计数量,根据题意可以得到“幸运数字”可以用 3i * 5j * 7k (i,j,k = 0, 1, 2, 3, ... , 不取全0)表示。由于n是确定的,i, j, k的最大值是可以确定的,例如i,由3i<=n, 且i为整数可以得到i的最大值为int(log(n,3))


源码

from math import log

count = 0
for i in range(int(log(n,3))+1):
for j in range(int(log(n,5))+1):
for k in range(int(log(n,7))+1):
if 3**i * 5**j * 7**k <= n:
count += 1
else:
break
print(count-1) # 减1是因为上述统计了i,j,k同时取0的情况


上一篇:​​蓝桥杯备战日志(Python)17-激光样式&修剪灌木-(排列组合&画图找规律)​

标签:log,Python,整数,蓝桥,int,数字,幸运,第几个
From: https://blog.51cto.com/gpnuCITlabCar/6086669

相关文章

  • python中生成指定长度和初始值的列表
     001、 方法1>>>list1=[]>>>foriinrange(5):...list1.append("value")...>>>list1['value','value','value','value','value']  002、......
  • python基础-内置函数
    #callable()#函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象object绝对不会成功。#对于函数、方法、lambda......
  • python数据分析与挖掘实战第三章
                                         ......
  • 蓝桥杯训练赛二-问题 A
    题目描述用简单素数筛选法求N以内的素数。输入N输出2~N的素数样例输入100样例输出23571113171923293137414347535961677173798......
  • python常用容器
    list的方法编号使用方式作用1列表.append(元素)向列表中追加一个元素2列表.extend(容器)将数据容器的内容依次取出,追加到列表尾部3列表.insert(下标......
  • python统计图像
    importpandasaspdimportmatplotlib.pyplotaspltimportnumpyasnp##读取数据url=r"C:\Users\Administrator\Desktop\catering_fish_congee(1).xls"data=......
  • 数据驱动ddt安装3种方式_unittest_Python
    命令行安装  pipinstallddt-i 管理员运行命令提示符  pycharm设置里安装pycharmPythonPackages里安装......
  • python flask就业分析可视化系统(课设、毕设、学习、源码下载)
    pythonflask就业分析可视化系统基于Pythonflask职业可视化系统基于Pythonflask工作大数据可视化系统后端:python3 flask数据库:MySQL前端:html css js主要功能......
  • python Django智慧气瓶管理系统(课设、毕设、学习、源码下载)
    pythonDjango智慧气瓶管理系统PythonDjango智慧煤气燃气管理平台PythonDjango医院氧气管理系统 后端:python3 django数据库:MySQL前端:html css js主要功能:数......
  • Python转义字符
    在字符串中,有时需要输入一些特殊的符号,但是,某些符号不能直接输出,就需要用转义符。所谓转义,就是不采用符号本来的含义,而采用另外一含义了。下面表格中列出常用的转义符:转......