解题思路:暴力法

注意事项:尽量使用较少的变量,尽可能使用内建函数

参考代码:

未优化前的代码:73%

import sys


sys.setrecursionlimit(200000)

n = input()

counter = 0

lst = []

lst_cmp = [i for i in range(1, int(n))]



def generator(num) :

    output = 0

    output += int(num)

    for data in num :

        output += int(data)

    lst.append(output)

    if output < int(n) :

        generator(str(output))



for data in lst_cmp :

    if data not in lst :

        generator(str(data))

        print(data)


优化后的代码:AC

import sys


sys.setrecursionlimit(200000)

n = input()

counter = 0

lst_cmp = [i for i in range(1, int(n))]



def generator(num) :

    output = 0

    output += int(num)

    for data in num :

        output += int(data)

    if output < int(n) and output in lst_cmp:

        lst_cmp.pop(lst_cmp.index(output))

        generator(str(output))



for data in lst_cmp :

    generator(str(data))

    print(data)


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论