用python验证冰雹猜想_python验证卡普耶卡(D.R.Kaprekar)6174猜想

news/2024/7/24 12:48:44 标签: 用python验证冰雹猜想

1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:

对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到6174这个数字,并且这个操作最多不会超过7次

以下为python代码验证

a = input()

a = int(a)

i = 0

l = []

cha = 0

b = a%1000                                 #求出百十个位

max4 = (a - b)/1000                    #求出千位

d = b%100                                  #求出十个位

max3 = (b - d)/100                     #求出百位

max1 = d%10                            #求出个位

max2 = (d - max1)/10                #求出十位

l.append(max4)

l.append(max3)

l.append(max2)

l.append(max1)

l.sort()

max1 = int(l[0])                          #最小值

max2 = int(l[1])

max3 = int(l[2])

max4 = int(l[3])                          #最大值

while cha != 6174 :

i = i + 1

summax = max4 * 1000 + max3 * 100 + max2 * 10 + max1

summin = max1 * 1000 + max2 * 100 + max3 * 10 + max4

cha = summax - summin

baishige = cha%1000                                                             #求出百十个位

max4 = (cha - baishige)/1000                                                 #求出千位

shige = baishige%100                                                            #求出十个位

max3 = (baishige - shige)/100                                                #求出百位

max1 = shige%10                                                                   #求出个位

max2 = (shige - max1)/10                                                      #求出十位

l = []                                                                                        #这个地方要把列表清零,当时没注意,在这调试了很长时间

l.append(max4)

l.append(max3)

l.append(max2)

l.append(max1)

l.sort()

max1 = int(l[0])            #最小值

max2 = int(l[1])

max3 = int(l[2])

max4 = int(l[3])            #最大值

print(cha)

print(i)

截图


http://www.niftyadmin.cn/n/1728637.html

相关文章

vue v-model使用0和1 控制开关按钮(有用)

问题背景: status是从后端获取到的值,其取值情况有两种:0、1 要使用status控制开关v-model,不能使用表达式,不能使用三目运算符控制开关 v-model"status1?true:false" //这种写法是错的可使用属性绑定来控…

window系统nginx安装和配置本地图片案例

1.nginx官网下载地址: nginx: download 2.下载好以后解压到你想安装的路径 3.进入conf中的nginx.conf文件修改nginx默认端口,如果不需要修改可以忽略这一步,nginx默认端口是80 注意事项:如果修改了配置文件一定要进行配置文件刷新 命令符:nginx -s reload 如果刷新配置不生效…

kubernetes权威指南第五版_Kubernetes入门实践--部署运行Go项目

以下文章来源于网管叨bi叨 ,作者KevinYan11介绍今天的文章我准备和大家一起一步步地尝试做一个Go应用程序的Docker镜像,把它部署到Minikuebe上运行。今天的文章不需要什么基础,Kubernetes的新手朋友们先一起上车学起来。应用程序代码我们用Go…

java_树形结构_递归_案例1

结果: 代码: JSON的jar: <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency> 地区: public class Area {private Integer id;private Long areaCode;pr…

python 字典添加元素 只能到最后吗_Python之字典添加元素的几种方法

本文使用的代码book_dict {"price": 500, "bookName": "Python设计", "weight": "250g"}第一种方式&#xff1a;使用[]book_dict["owner"] "tyson"说明&#xff1a;中括号指定key&#xff0c;赋值一个…

Java_代理模式

介绍: 要求给某一个对象提供一个代理,并由代理对象控制原有对象的引用 角色: Subject(抽象主题角色) 声明了真实主题和代理主题接口,这样一来,使用真实主题的地方都可以使用代理主题 Proxy(代理主题角色) 代理主题角色包含对真实主题的引用,从而可以在任何时候操作真实主…

vue中方法体内未严格按照执行顺序执行(自上而下,依次执行 ,有用)

注意&#xff1a; VUE中的方法调用顺序是依次进行的&#xff0c;方法体内部也是依次执行的&#xff0c; 但是&#xff0c;两个方法体的执行顺序并不能严格控制&#xff0c;不一定一个方法执行完再执行另一个 下面来说一下涉及到axios请求时的执行顺序我们要求的执行顺序是&…

python分数约分_C++、Java、Python中都是怎么精确表达分数的?

你要的东西&#xff0c;STL 库已经有了&#xff0c;叫 std::ratio &#xff0c;是 C11 标准的模板类。在 C11 标准之后&#xff0c;C委员会加入了大量高等数学相关的函数&#xff0c;beta函数、gamma函数、黎曼Zeta函数、球面贝塞尔函数等等&#xff0c;少不了优秀的先驱库 boo…