2,3,5第N大的数是多少——PYTHON版本

只用2,3,5组成数字,可以重复,问第n个数是多少?
2,3,5,22,23,25,32,33,35,52,53,55


def dizeng(met,str):
    tr = []
    for i in range(0, len(met)):
        a = met[i] + str
        b = str + met[i]
        if a == b:
            tr.append(a)
        else:
            tr.append(a)
            tr.append(b)

    return tr


n = input()
flag = 0
met = ['2','3','5']
res = ['2','3','5']
while (flag == 0):
    a_r = dizeng(met,'2')
    res = res + a_r
    b_r = dizeng(met,'3')
    res = res + b_r
    c_r = dizeng(met,'5')
    res = res + c_r

    res = list(set(res))
    if len(res) >= int(n):
        res = list(map(int,res))
        res.sort()
        print(res)
        print (res[int(n)])
        flag = 1
    else:
        met = res

 

Guess you like

Origin blog.csdn.net/qq_17846375/article/details/108291383