python 蓝桥杯之枚举、尺取法

文章目录


幸运数字

  • 对于该题的思路:我们可以采用直接暴力枚举的方法
    幸运数字就是 3 i 3^i 3i5 j 5^j 5j 7 k 7^k 7k 的形式,那么我们就确定一个终极范围,直接用三层循环来遍历即可
  • 对于细节上的计数的话:相乘的结果只要小于等于规定的 num 就可以直接加一,不过最后要减1,因为最小的数 1 不符合要求

先在 IDLE 上 使用暴力得出结果,然后再在网页上提交最后的结果即可

python 复制代码
num = 59084709587505
count = 0
for i in range(50):
    for j in range(50):
        for k in range(50):
            result = 3**i * 5**j * 7**k
            if result <=num:
                count = count + 1

print(count-1)
                
#1905

组合型枚举


python 复制代码
chosen = []
n = 0
m = 0
def calc(x):
	if len(chosen)>m:
		return
	if len(chosen) + n-x+1<m:
		return
	if x== n+1:
		for i in chosen:
			print(i,end='')
		print()
		return
	chosen.append(x)

排列型枚举


python 复制代码
order = [0]*20
chosen = [0]*20
n = 0
def calc(x):
	if x==n+1:
		ansTem=''
		for i in range(1,n+1):
			print(order[i],end='')
		print()
		return
	for i in range(1,n+1):
		if(chosen[i]==1):
			continue
		order[x]=i
		chosen[i]=1
		calc(x+1)
		chosen[i]=0
		order[x]=0
	

python 排列函数

子集


python 复制代码
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]


def print_subset(n):
    for i in range(1<<n):

        for j in range(n):
            if (i&(1<<j))!=0:
                print(a[j],end='')
        print()

n = 3

print_subset(3)

尺取法





相关推荐
caoerzhong4 分钟前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
正在走向自律18 分钟前
AI数据分析与可视化:从基础到应用实践
服务器·人工智能·python·机器学习·数据分析·pandas
OnlineProxy38 分钟前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
databook1 小时前
从手动检查到自动监控:一个数据质量工作流的实现
后端·python·数据分析
辻弋2012 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_3 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
北冥有鱼被烹3 小时前
砷化镓与磷化铟:光模块的地基——从化学键到AI缺货潮的底层逻辑
人工智能·python
石头麻辣鱼3 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川4 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路4 小时前
zap扩展生态与总结
java·前端·数据库