博客
关于我
笔试题:找亲戚(Python列表全排列,找能被7整除的数)
阅读量:373 次
发布时间:2019-03-05

本文共 712 字,大约阅读时间需要 2 分钟。

全排列并检查模7余数

为了解决数字列表中的全排列问题并寻找能被7整除的数,我们可以编写一个递归函数来实现这个目标。以下是详细的实现方法:

首先,我们从输入的数字列表开始,然后使用递归的方式生成所有可能的排列组合。每次递归调用中,我们交换当前位置的数字与前一个位置的数字,以达到全排列的目的。在递归结束后,我们将所有生成的排列结果保存在一个列表中。

接下来,我们对保存的排列结果进行遍历,逐一将每个排列转换为整数,并检查它是否能被7整除。如果能被7整除,则将结果计数器加一。

最终,我们将计数器的值作为最终结果返回。

以下是完整的实现代码:

def Method(arr, p, q):
if p == q:
s.append(list(arr))
else:
for i in range(p, q):
arr[i], arr[p] = arr[p], arr[i]
Method(arr, p + 1, q)
arr[i], arr[p] = arr[p], arr[i]
s = []
res = 0
arr = list(input().strip().split())
Method(arr, 0, len(arr))
for pl in s:
temp = int(''.join(pl))
if temp % 7 == 0:
res += 1
print(res)

这个方法通过递归实现了全排列的生成,并对每一个排列结果进行了检查,最后统计满足条件的数的数量。

转载地址:http://bjvg.baihongyu.com/

你可能感兴趣的文章
Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
查看>>
Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Nacos配置中心集群原理及源码分析
查看>>
nacos配置自动刷新源码解析
查看>>
Nacos集群搭建
查看>>
nacos集群搭建
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Neo4j电影关系图Cypher
查看>>
Neo4j的安装与使用
查看>>
Neo4j(2):环境搭建
查看>>
Neo私链
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
netcat的端口转发功能的实现
查看>>
netfilter应用场景
查看>>
netlink2.6.32内核实现源码
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>