一个数学问题的Python解决方法

一个正整数n。
它是由数字3和7组成,且这个数以及这个数
各位数字之和都是3和7的倍数,求n的最小值
要有过程。

# coding=utf-8
import numpy as np
x_num = 1
while True:
    x_str = str(x_num)       #数字转换为字符
    x_str_list = list(x_str)    #为将元组转换为列表
    x_str_len = len(x_str_list) #列表元素个数
    x_com=x_num     #为了后续是否因为不满足条件而到导致数字继续推后
    x_str_list_num= map(int, x_str_list)    #将字符数组转化为数字数组
    sum_x=np.sum(x_str_list_num)            #对一位数组进行求和
    for word in x_str_list:                 #字符串字符依次提取
        if ((int(word)==3 or int(word)==7) and (x_num%21==0) and (sum_x%21==0) and (‘3‘ in x_str_list) and (‘7‘ in x_str_list)):
            #该数字必须含有3和7,且这个书是21的倍数,且各个位数之和为3和7的倍数
            continue        #继续本循环
        else:
            x_num = x_num + 21  #如果不满足条件的话,数字后移
            break           #跳出最近的一个循环
    if x_com==x_num:        #如果满足要求,即上一个for循环正常结束,跳出while循环
        break
    else:
        print(x_num)
        continue            #如果条件不满足,继续while循环

print(x_num)
结果是:3333377733计算效率有待提升

原文地址:https://www.cnblogs.com/yueluhun/p/11564478.html

时间: 2024-08-07 20:18:56

一个数学问题的Python解决方法的相关文章

Firefox提示“安全连接失败,您收到了一个无效的证书”的解决方法

当你看到这篇文章的时候,我已经坐上轻轨准备前往某个地方游玩去了,这篇文章实际上是我昨天写好然后用wordpress的定时发布功能发布的,实际上这里大部分文章都是我事先写好然后定时发布的,特别是这个月希望能够保持每天更新一篇文章的频率,一有想法就会赶快记录下来,害怕忘记什么. 在Firefox上搭配AutoProxy/FoxyProxy和goagent穿越的时候需要导入证书,不过我在导入证书后浏览某个网站会有以下提示:(AutoProxy/FoxyProxy对该网站启用) 安全连接失败 连接 XX

IIS发布网站出现“未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。”的解决方法

未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序.              说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.             异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序.源错误: 执行当前 Web

cmd下不能运行python解决方法

windows下安装完python后不能在cmd下运行 1.解决方法:我的电脑>属性>高级>环境变量,然后找到PATH双击, 在结尾加上 ;E:\Python27 (比如安装在E:\Python27目录下),设置好环境变量后就能在cmd下直接运行了

关于在for循环里调用ajax时只能取到最后一个数据的bug的解决方法

首先,造成这中情况的原因在与ajax的异步请求机制,for循环的运行速度远大于ajax异步请求的速度,这就造成了ajax运行时,需要的在for循环里的参数已经运行到最后一个了,所以取到的都是最后一个参数数据. 解决方法:将ajax的请求封装成一个单独的方法,然后在for循环里调用该方法.

AWS AutoScaling的一个ScaleDown策略问题以及解决方法

1. AWS AutoScaling简介 AutoScaling是AWS的一个重要服务,用来弹性的自动创建(ScaleUp)或者删除(ScaleDown)EC2虚拟机,并且Scale的策略完全是用户自定义的.或者是基于虚拟机健康状态检查结果.或者是按照计划来实施Scale策略. 例如,考虑如下的业务场景,系统部署在EC2虚拟机上,所有任务分发均是通过AWS SQS来完成的,即请求按照特定格式发送到SQS指定队列中,而EC2虚拟机上运行的系统从这个队列读取消息来运行任务. 借助于AutoScali

43.关于浮点数的乘除法预算误差,一个看似没什么问题的解决方法

commission是一个浮点数,在进行乘除法预算的时候会存在误差,下面是我的解决方法

记录一个浏览器主页被篡改的解决方法

前两天新装了win7,然后发现无论打开谷歌浏览器还是IE,都会跳到毒霸网址大全,非常流氓,猜测有百分之七八十是因为用了某驱动管理软件造成的,试了各种解决办法,在我电脑上生效的方法是: 1.卸载了各种驱动管理软件 2.谷歌浏览器打开后,设置--启动时--打开特定网页或一组网页--删掉毒霸的网址 3.IE浏览器打开后,工具--Internet选项--常规--主页--删掉毒霸的网址 最后感叹一声:有文化的流氓真可怕......

CSS中的各个选择节点,都有样式最后一个无样式的快捷解决方法

2.1.3 多标签 多标签选择器一般和html上下文有关,它有以下集中分类 选择一个祖先的所有子孙节点,例如 div p{…} 选择一个父元素的所有直属节点,例如 div > p{…} 选择某一个元素紧挨着的兄弟节点,例如 li + li{…} 选择某一个元素的所有同胞节点,例如 span ~ a{…} 以上各种情况的组合应用(不要组合过于复杂,编码讲求可读性第一) 给大家列举一个比较典型的应用,如下图 上图中的效果应该比较常见,在各个菜单之间加下划线.我之前的实现是:每个li都加一个borde

android Listview 与 Scrollview 共存的一个较优良的解决方法

最近因为一个项目需要在Scrollview里面嵌套一个Listview,如果只是用android提供的ListView是什么效果大家肯定都已经知道了,经过摸索,自己找到了一个还算可以的解决方法,如下所示: 首先时自定义一个MyListview继承Listview ,重写他的onMeasure方法 ,让它不能滚动,代码如下: 基本这样就解决了它俩共存的问题,但是新问题来了,每次加载时,都是MyListview优先显示(而且好像是从MyListview底部向上开始显示的,因为我的测试数据太少,可能说