Отыскать такие двузначные числа которые в сумме с числом записанным в

Отыскать такие двузначные числа которые в сумме с числом записанным в обратном порядке дают полный квадрат
Например 29+92=121 корень121=11
НА ПИТОНЕ Желанно С ПОЯСНЕНИЯМИ

Задать свой вопрос
1 ответ

import math

for i in range(10, 99 + 1):

if math.sqrt(i % 10 * 10 + i // 10 + i) % 1 == 0:

 print(i)

Объяснения:

Перебираем с поддержкою цикла for перечень всех двузначных чисел, сделанный с поддержкою функции range(10, 99 + 1).

i % 10 * 10 + i // 10 меняем местами 10-ки и единицы (например, 29 превращаем в 92):

  • i % 10 получаем 10-ки
  • i // 10 получаем единицы

Потом прибавляем к приобретенному наше начальное число (к примеру, 29 преобразуется в 92 и к нему прибавляется 29). Из этой суммы находим квадрат с подмогою функции sqrt() из модуля math (мы его подключили первой строкой import math). Чтоб проверить, полный ли квадрат получается из этого числа, нужно проверить, имеет ли остаток полученный корень. Я отыскал остаток от деления с поддержкою конструкции root % 1. Если остаток равен нулю, то квадрат полный, как следует выводим число в консоль с помощью функции print().

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт