Статья Автор: Александр Ф. Алейников

7.8.2 Использование вложенных циклов при решении уравнений

Вложенные циклы можно использовать для решения уравнений с несколькими переменными. Зная, что решения (корни) уравнения являются натуральными (целыми) числами, несложно написать программу, содержащую вложенный цикл и перебирающую все возможные значения переменных.

Решение задач

Задача 1. Найдите все пары натуральных чисел (и их количество), являющихся решением уравнения 12x+13y=777.

Решение. Поскольку по условию числа x и y являются натуральными, то x64,y59 (при x=65, 1265=780, что больше, чем 777, поэтому x64, т.к. y не может быть отрицательным по условию; аналогично получается, что y59). Напишем программу, которая перебирает всевозможные пары чисел (x;y) и проверяет для них выполнение условия 12x+13y=777.

total = 0
for x in range(1, 65):
    for y in range(1, 60):
        if 12 * x + 13 * y == 777:
            total += 1
            print('x =', x, 'y =', y)
print('Общее количество натуральных решений =', total)

В результате выполнения такого кода, мы получим:

x = 3 y = 57
x = 16 y = 45
x = 29 y = 33
x = 42 y = 21
x = 55 y = 9
Общее количество натуральных решений = 5

Задача 2. Найдите все тройки натуральных чисел (и их количество), являющихся решением уравнения x2+y2+z2=2020.

Решение.  Поскольку по условию числа x,y и z являются натуральными, то x,y,z<202045. Напишем программу, которая перебирает всевозможные тройки чисел (x;y;z) и проверяет для них условие x2+y2+z2=2020.

total = 0
for x in range(1, 45):
    for y in range(1, 45):
        for z in range(1, 45):
            if x ** 2 + y ** 2 + z ** 2 == 2020:
                total += 1
                print('x =', x, 'y =', y, 'z =', z)
print('Общее количество натуральных решений =', total)

В результате выполнения такого кода, мы получим:

x = 18 y = 20 z = 36
x = 18 y = 36 z = 20
x = 20 y = 18 z = 36
x = 20 y = 36 z = 18
x = 36 y = 18 z = 20
x = 36 y = 20 z = 18
Общее количество натуральных решений = 6
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать