Exemple pratique Python 3

Python 100例100 exemples Python

Sujet :Un entier, après avoir ajouté 100, est un carré parfait, et après avoir ajouté encore 168, il est de nouveau un carré parfait. Quel est ce nombre ?

Analyse du programme :

Supposons que le nombre soit x.

1. Alors : x + 100 = n2, x + 100 + 168 = m2

2. Calculez l'équation : m2 - n2 = (m + n)(m - n) = 168

3. Posons : m + n = i, m - n = j, i * j = 168, et au moins l'un de i et j est pair.

4. On peut obtenir : m = (i + j) / 2, n = (i - j) / 2, et i et j sont soit tous les deux pairs, soit tous les deux impairs.

5. D'après 3 et 4, on peut déduire que i et j sont tous deux des nombres pairs supérieurs ou égaux à 2.

6. Comme i * j = 168, j >= 2, alors1 < i < 168 / 2 + 1。

7. Ensuite, parcourez toutes les valeurs de i et calculez.

Code source du programme :

Exemple (Python 3.0+)

# Définir la fonction de résolution
def find_integer():
    for i in range(2, 85):  # L'intervalle de i va de 2 à 84
        if 168 % i == 0:  # i est un facteur de 168
            j = 168 // i  # Calculer le j correspondant
            if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0:  # Vérifier que i et j sont tous deux pairs ou tous deux impairs
                m = (i + j) // 2
                n = (i - j) // 2
                x = n * n - 100
                print(f"x: {x}, m: {m}, n: {n}")

# Appeler la fonction de résolution
find_integer()

Exemple (Python 2.0+)

#!/usr/bin/python
# -*- coding: UTF-8 -*-

for i in range(1,85):
    if 168 % i == 0:
        j = 168 / i;
        if  i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :
            m = (i + j) / 2
            n = (i - j) / 2
            x = n * n - 100
            print(x)

La sortie de l'exemple ci-dessus est :

-99
21
261
1581

Python 100例100 exemples Python

Autres extensions