miércoles, 9 de marzo de 2016

Numeros de 6 digitos en python: Hallar el mayor numero de seis digitos que sea un cuadrado perfecto y el producto de dos numeros sucesivos menos 800

# hallar el numero de 6 digitos que sea un cuadrado perfecto y el producto de dos numeros sucesivos menos 800

def isCP(n):
    # me dice si n es un cuadrado perfecto
    vf = False # no lo es
    raiz = int(n**0.5)
    if raiz*raiz == n:
        vf = True
    return vf

def pTwonumberConsec(n):
    # me dice si n es el producto de dos numeros consecutivos enteros menos 800
    x = 1002
    y = 1001
    vf = 0 # no lo es
    while x*y-800 >= n:
        if not n != x*y-800:
            vf = 1
        x -= 1
        y -= 1
    return vf

# main
m = 0 #mayor
for x in range(100000,1000000):
    if isCP(x) and pTwonumberConsec(x):
            m = x
print (m)


INPUT

OUTPUT
640000


Ahora, en vez de restarle 800 al producto de los dos números enteros sucesivos, réstale 400 y comenta tu respuesta!

dpb, Daniel Peña

No hay comentarios:

Publicar un comentario

Comparte tu opinión con nosotros...