Python冲击省一蓝桥杯 DFS集锦(2)

简介: Python冲击省一蓝桥杯 DFS集锦

问题来源:“蓝桥杯”练习系统算法提高之因式分解 :


将大于1的自然数N进行因式分解,满足:

N=а1*а2*а3…аm且1<а1≤а2≤…≤аm<N

编一程序,输入N(1<N<10^9)


输入要求


N由键盘输入。


输出要求


① 第1行至第M行输出所有的M种方案(顺序不限)

② 第M+1行输出方案总数T。


image.png


代码设计思路:声明:小郑只做到统计方案个数 如何输出方案结果还没有解决


如有DL有解决方案,超级感谢!!所以下面给出如何统计方案总数的代码:


如果a=b*c  ,且c=d*e or x*y....(b<=c,d<=e,x<=y...)


那么就需要保证b<=d or b<=x,那么a就可以表示为a=b*d*e or a=b*x*y


如果e或y,又可以分解,那么重复以上步骤。


一些细节的地方:当a=b*d*e的时候,为什么是直接考虑e而不是d,也就是说d有没有可能可以由其他因子表示。说实话,这个是我找规律找出来的,你们可以自己动手试一下 比如n=24,模拟一下整个过程会,会发现d是不用考虑的


也就是一个数字的两个因子,前一个小的因子作为判断标准,是不可再分解的,后一个大的因子作为可能分解物,如果可分解,需要保证其因子中的较小者要大于我们刚刚那个判断标准,然后依次深搜下去。如果不可再分解,count不累加。


n=int(input()[2:])
count=0
def dfs(x,a):
    global count
    for i in range(2,int(x**0.5)+1):
        if x%i==0 and i>=a:#是x的因子且大于判断标准
            count+=1
            dfs(int(x/i),i)#由于for循环i从小到大遍历,那么int(x/i)作为分解对象,i作为判断标准
dfs(n,1)
print("T =%d"%count)


我是小郑 正在奔赴热爱奔赴山海! 希望大家都能拿到省一! 拿奖拿到手软!


目录
相关文章
|
25天前
|
Python
蓝桥杯练习题(一):Python组之入门训练题
这篇文章是关于蓝桥杯Python组的入门训练题,包括Fibonacci数列、圆的面积、序列求和和A+B问题的具体代码实现和样例输出。
89 0
|
1天前
|
数据采集 JSON 数据安全/隐私保护
Python常用脚本集锦
Python常用脚本集锦
8 2
|
25天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
47 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
5月前
|
存储 算法 数据挖掘
python 数学+减治、下一个排列法、DFS回溯法实现:第 k 个排列【LeetCode 题目 60】
python 数学+减治、下一个排列法、DFS回溯法实现:第 k 个排列【LeetCode 题目 60】
|
25天前
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
21 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
25天前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(二):Python组之基础练习三十题
蓝桥杯Python编程练习题的集合,包含了三十个不同难度的编程题目,覆盖了基础语法、数据结构和算法等领域。
22 0
|
1月前
|
算法 Python
逆袭之路!用 Python 玩转图的 DFS 与 BFS,让数据结构难题无处遁形
在数据结构的广袤领域中,图是一种强大而复杂的结构,而深度优先搜索(DFS)和广度优先搜索(BFS)则是遍历图的两把利剑。Python 以其简洁和强大的特性,为我们提供了实现和运用这两种算法的便捷途径。
58 0
|
2月前
|
应用服务中间件 网络虚拟化 nginx
Python中采用lasso、SCAD、LARS技术分析棒球运动员薪资的案例集锦
以上是对每个问题的简要答案,由于篇幅限制,未能深入到1000字的详细解释,但希望这提供了一个良好的起点。对于这类复杂的话题,深入研究和专业指导至关重要。
29 0
|
4月前
|
算法 Python
Python图论探索:从理论到实践,DFS与BFS遍历技巧让你秒变技术大牛
【7月更文挑战第11天】图论核心在于DFS与BFS。DFS深入探索,适用于找解空间;BFS逐层扩展,擅寻最短路径。
52 8
|
4月前
|
存储 算法 Python
Python图论实战:从零基础到精通DFS与BFS遍历,轻松玩转复杂网络结构
【7月更文挑战第11天】图论在数据科学中扮演关键角色,用于解决复杂网络问题。Python因其易用性和库支持成为实现图算法的首选。本文通过问答形式介绍DFS和BFS,图是节点和边的数据结构,遍历用于搜索和分析。Python中图可表示为邻接表,DFS用递归遍历,BFS借助队列。DFS适用于深度探索,BFS则用于最短路径。提供的代码示例帮助理解如何在Python中应用这两种遍历算法。开始探索图论,解锁更多技术可能!
131 6