Pregunta diaria de Blue Bridge Cup (4): Número cuadrado exclusivo (pitón)

Tema:

Xiao Ming estaba mirando el número 203879 aturdido.
Resulta, 203879 * 203879 = 41566646641
¿Cuál es la magia de esto? Observe cuidadosamente, 203879 es un número de 6 dígitos, y el número en cada dígito es diferente, y no hay dígitos que se compongan en todos los dígitos después de su cuadrado.
Hay otro número de 6 dígitos con tales características, ¡descúbrelo!
Resuma los requisitos de filtrado:
1. 6 enteros positivos
2. El número en cada dígito es diferente
3. Cada dígito del número cuadrado no contiene ningún dígito constituyente del número original La
respuesta es un entero positivo de 6 dígitos.

Solución:

Dado que esta es una pregunta para llenar los espacios en blanco, no es necesario considerar la eficiencia operativa.
Puede juzgar cada número de 6 dígitos y
convertir cada número de 6 dígitos en una lista para su procesamiento.
Utilice la función de conteo en el lista para determinar
si el recuento es mayor que 1, significa que "cada dígito no está satisfecho". El
indicador de condición de "diferentes números en" se vuelve Falso.
Si se cumple la condición de "diferentes dígitos en cada dígito"
, utilice una lista para determinar si se cumple "cada dígito del número cuadrado no contiene ningún dígito constituyente del número original".
Si no se satisface, el indicador se vuelve Falso y
se cumplen las dos últimas condiciones, y el indicador se convierte en Verdadero y se emite

Código:

i = 100000

while i < 1000000:
    a = str(i)
    list_1 = list(a)
    flag = True

    for j in list_1:
        if list_1.count(j) > 1:
            flag = False
            break

    if flag is True:
        x = i * i
        x = str(x)
        list_2 = list(x)

        for z in list_2:
            if z in list(a):
                flag = False
                break

    if flag is True:
        print(i)

    i += 1

Responder:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_50791900/article/details/112408977
Recomendado
Clasificación