Найти такие двузначные числа которые в сумме с числом записанным в обратном порядке полный квадрат например 29+92=121 корень121=11 на питоне желательно с пояснениями

Babocka1415 Babocka1415    1   01.05.2019 16:49    1

Ответы
ккккtttttttyyyyyy ккккtttttttyyyyyy  12.05.2020 11:45

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 — меняем местами десятки и единицы (например, 29 превращаем в 92):

i % 10 — получаем десяткиi // 10 — получаем единицы

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика