PTA 7-2 数字之王 (20 分)

简介: 给定两个正整数 N 1 ​ <N 2 ​ 。把从 N 1 ​ 到 N 2 ​ 的每个数的各位数的立方相乘,再将结果的各位数求和,得到一批新的数字,再对这批新的数字重复上述操作,直到所有数字都是 1 位数为止

题目


给定两个正整数 N 1 <N 2 。把从 N 1 到 N 2 的每个数的各位数的立方相乘,再将结果的各位数求和,得到一批新的数字,再对这批新的数字重复上述操作,直到所有数字都是 1 位数为止。这时哪个数字最多,哪个就是“数字之王”。


例如 N 1 =1 和 N 2 =10 时,第一轮操作后得到 { 1, 8, 9, 10, 8, 9, 10, 8, 18, 0 };第二轮操作后得到 { 1, 8, 18, 0, 8, 18, 0, 8, 8, 0 };第三轮操作后得到 { 1, 8, 8, 0, 8, 8, 0, 8, 8, 0 }。所以数字之王就是 8。


本题就请你对任意给定的 N 1 <N 2 求出对应的数字之王。


输入格式: 输入在第一行中给出两个正整数 0<N 1 <N 2 ≤10 3 ,其间以空格分隔。


输出格式: 首先在一行中输出数字之王的出现次数,随后第二行输出数字之王。例如对输入 1 10 就应该在两行中先后输出 6 和 8。如果有并列的数字之王,则按递增序输出。数字间以 1 个空格分隔,行首尾不得有多余空格。


输入样例:
10 14
结尾无空行
输出样例:
2
0 8
结尾无空行

解题思路

start,end = map(int,input().split())
# start,end = map(int,"10 14".split())
# start,end = map(int,"1 10".split())
inputList = [str(i) for i in range(start, end+1)]
def actionRes(a:str) -> str:
    res = 1
    for i in a:
        res = res *(int(i)**3)
    b = str(res)
    resb = 0
    for j in b:
        resb += int(j)
    return str(resb)
def sumLength(list:[str])->int:
    res = 0
    for i in list:
        res += len(i)
    return res
while sumLength(inputList) != len(inputList):
    for index,val in enumerate(inputList):
        inputList[index] = actionRes(val)
    # print(inputList)
from collections import Counter
res = Counter(inputList).most_common()
if len(res) == 0:
    print("")
else:
    resOutput = [int(x) for x,y in res if y == res[0][1]]
    resOutput.sort()
    print(res[0][1])
    resOutput = [str(x) for x in resOutput]
    print(" ".join(resOutput))


目录
相关文章
|
机器学习/深度学习 人工智能 算法
深度学习在计算机视觉中的突破与未来趋势###
【10月更文挑战第21天】 近年来,深度学习技术极大地推动了计算机视觉领域的发展。本文将探讨深度学习在图像识别、目标检测和图像生成等方面的最新进展,分析其背后的关键技术和算法,并展望未来的发展趋势和应用前景。通过这些探讨,希望能够为相关领域的研究者和从业者提供有价值的参考。 ###
683 4
|
存储 分布式计算 算法
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
666 0
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
23461 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
存储 算法 Java
菜鸟之路Day08一一集合进阶(一)
《菜鸟之路Day08——集合进阶(一)》由blue撰写于2025年1月26日,深入探讨了五道经典算法题及单列集合的相关知识。文章首先通过自定义排序、不死神兔、猴子吃桃子、爬楼梯及其变种等题目,详细讲解了Java中数组和动态规划的应用;接着介绍了单列集合的体系结构,重点解析了Collection接口的常用方法及遍历方式(迭代器、增强for、Lambda表达式),并进一步探讨了List接口的特点与遍历方法,最后简要介绍了LinkedList的独特API。
149 6
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
23402 3
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
机器学习/深度学习 算法
全连接层那些事(Fully Connected Layer)
全连接层那些事(Fully Connected Layer)
|
Java 程序员 编译器
为什么要配置环境变量
我们配置环境变量的目的就是让java命令在任何目录下都可以执行,或者说让它执行时跳转到jdk的bin目录下,jdk的bin目录下有javac.exe和java.exe。
217 0
|
存储 C语言
[C语言/PTA] 建立学生信息链表
[C语言/PTA] 建立学生信息链表
322 0
|
缓存 前端开发 JavaScript
webpack拓展篇(六十八):bundle 和 bundless 的差异
webpack拓展篇(六十八):bundle 和 bundless 的差异
344 0
webpack拓展篇(六十八):bundle 和 bundless 的差异