数的四则运算

我们希望组合计算得到一个结果,即将原数字各个数位上的数逆序排列得到的数,并且算式按照先乘除,后加减的顺序排列。

比如,对于351而言, 3*51 = 153

请问,对于1000~9999中的数,有哪个满足条件

for x in range(1000, 10000):
    bcd = x % 1000
    a = x // 1000
    cd = x % 100
    ab = x // 100
    d = x % 10
    abc = x //10
    c = x % 100 // 10
    b = x // 100 % 10
    x = d*1000 + c*100 + b*10 + a

    
    if x==a*bcd or x==ab*cd or x==abc*d or x==a*b*c*d or x==a*b*cd or x==ab*c*d:
        print(x)

答案:1395

你可能感兴趣的:(算法趣题)