从编程的角度思考小学生趣味乐园

简介: 从编程的角度思考小学生趣味乐园

image.png


题目如上:


请你用1,3,4,5,6,8,9这7个数字把下列汉子替换下来


----西游记


X ------- 记


大家都爱看


从这要求来分析有如下特征:


1.要求将所有的数字都要用到


2.所有的数字和汉字对应起来,且不能重复

单纯的从数学角度分析较为容易,我门可以从计算机思维上考虑:


1.生成list[1,3,4,5,6,8,9]的三位数排列组合


2.原list的数字位结果的排列组合


3.结果必定是四位数,把三位数的剔除


4.三位数的个位数乘以该三位数,得到的结果需要再“2”种

from itertools import permutations
def begin():
    s = set()
    for i in permutations([1, 3, 4, 5, 6, 8, 9], 3):
        k = ''
        for j in range(0, len(i)):
            k = k + str(i[j])
        s.add(int(k))
    for chengshu in s:
        # print('=====')
        listBegin = [1, 3, 4, 5, 6, 8, 9]
        # chengshu = 986
        gewei = chengshu%10;
        result = chengshu * gewei;
        list1 = getList(chengshu)
        list2 = getList(result)
        # print(list1,list2)
        set1 = set(list1)
        set2 = set(list2)
        setBegin = set(listBegin)
        resultSet = set1.union(set2)
        if len(resultSet) == 7:
            print('=========')
            if setBegin.issubset(resultSet) and resultSet.issubset(setBegin):
                print('xxxxxxxx')
                print(chengshu)
                print(result)
                return
def getList(num):
    data1 = int(num%10);
    data2 = (num // 10)%10;
    data3 = (num //100)%10;
    if num//100>=10:
        data4 = (num//1000)%10
        return [data4,data3,data2,data1]
    return [data3,data2,data1]
if __name__ == '__main__':
    begin()

结果展示:

E:\miniconda\python.exe C:/Users/kiven/Desktop/test/gg_new.py
=========
=========
=========
=========
=========
=========
=========
=========
=========
=========
xxxxxxxx
954
3816


很容易可以看出来,西游记三个字分别对应的是954,大家都爱看对应的是3816

大家可以尝试更改这七位数,看看结果又是多少呢?


我这里更改了一下:


**

[2, 3, 4, 5, 7, 8, 9]
其结果位:
547
3829



相关文章
|
2月前
|
弹性计算 编解码 搜索推荐
阿里云价格最便宜的轻量应用服务器是38元、68元还是79元,不同用户活动价格分析
阿里云轻量应用服务器价格因用户类型而异:新用户最低68元一年,抢购价可达38元一年;产品新用户79元一年;老用户则需459元一年。此外,阿里云还有99元与199元一年的经济型e实例和通用算力型u1实例特价款云服务器。在实际购买过程中,建议珍惜新用户首购资格,领取阿里云优惠券,通过官方活动购买,并利用购物车功能。同时注意活动限购台数,合理规划购买策略以节省成本。
|
2月前
|
存储 Linux 开发者
用pathlib替代os.path:现代Python路径操作最佳实践
本文对比Python中`os.path`与`pathlib`的路径处理方式,展示`pathlib`如何以面向对象、跨平台、易读性强的优势成为现代开发首选。涵盖路径构建、解析、文件操作、目录遍历等场景,结合实例说明其简洁性与实用性,并提供迁移策略与常见问题解答,助力开发者高效掌握现代化路径操作。
173 1
|
7月前
|
API Python 数据格式
深度分析京东API接口,用Python脚本实现
深度分析京东API接口,用Python脚本实现
|
3月前
|
负载均衡 Java Nacos
Gateway服务网关
网关是微服务架构的统一入口,实现请求路由、权限控制、限流及负载均衡。SpringCloud Gateway基于WebFlux,性能优于Zuul。支持断言与过滤器工厂,可自定义全局过滤器,解决跨域等问题,是微服务流量管控的核心组件。
270 0
|
11月前
|
弹性计算 安全 Linux
阿里云服务器镜像解析:镜像类型对比、适用场景与选择策略参考
阿里云服务器镜像,作为ECS实例的“装机盘”,不仅提供了操作系统,还包含了初始化应用数据和预装软件,云服务器镜像的选择对于云服务器的性能和稳定性起着至关重要的作用,选择合适的镜像对于云服务器的性能和稳定性至关重要。本文将深入解析阿里云服务器提供的多种镜像类型,从公共镜像到社区镜像,全面介绍每种镜像的特点、优势以及选择建议,帮助用户根据自身需求做出适合自己的选择。
1335 12
|
小程序 JavaScript 前端开发
微信小程序(十七)小程序监听返回键跳转事件(安卓返回也适用)
onUnload:function(){ wx.redirectTo({ url: '../index/index' }) wx.navigateTo({ url: '../index/index' }) wx.switchTab({ url: '../../member/member' }) }
1922 0
|
存储 前端开发 测试技术
Android Kotlin中使用 LiveData、ViewModel快速实现MVVM模式
使用Kotlin实现MVVM模式是Android开发的现代实践。该模式分离UI和业务逻辑,借助LiveData、ViewModel和DataBinding增强代码可维护性。步骤包括创建Model层处理数据,ViewModel层作为数据桥梁,以及View层展示UI。添加相关依赖后,Model类存储数据,ViewModel类通过LiveData管理变化,而View层使用DataBinding实时更新UI。这种架构提升代码可测试性和模块化。
739 2
|
应用服务中间件 nginx Docker
深入理解Dockerfile:构建镜像的详细解释与常用命令(上)
Docker 是一种流行的容器化平台,可将应用程序和其依赖项打包到一个独立的、可移植的容器中。Dockerfile 是构建 Docker 镜像的文本文件,它包含了一系列的指令和配置,用于定义镜像的构建过程。本文将深入解释 Dockerfile 的工作原理,并介绍常用的 Dockerfile 指令和构建命令,以帮助读者更好地理解和使用 Docker。
2352 0
|
人工智能 算法 安全
8种提升程序猿编程能力的方法+编程思维四个核心:分解、抽象、模式识别和算法
对于程序员来说,提高自己的编程能力,算是给自己定的职业发展目标之一,不过定一个成为编程大神的目标很容易,具体做起来可能就不是一件简单的事了。首先,既然决定“我要变得更好”,得先知道“更好”是什么样子的。另外,不能“想变得更好”,却没有任何具体可行的措施。
1592 2
8种提升程序猿编程能力的方法+编程思维四个核心:分解、抽象、模式识别和算法

热门文章

最新文章