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().
магистральная архитектура как основа современных эвм
современные эвм могут иметь различную архитектуру, но обязательно содержат в своей структуре следующие элементы (арифметико-логическое устройство (алу), выполняющее арифметические и логические операции. устройство (уу), которое организует процесс выполнения программ. запоминающее устройство (память) для хранения программ и данных. внешние устройства для ввода–вывода информации ( и используют основной принцип функционирования эвм – принцип программируемости, дополненный новыми принципами, к которым можно отнести принципы модульности, магистральности и микропрограммируемости.
10111 = 23
Здесь тот же принцип, что и с обычными цифрами. Нужно записать в столбик эти числа и произвести с ними действия (в данном случае сложение и вычитание).
Чтобы сложить или вычесть из одного числа другое, нужно недостающие цифры заполнить нулями.
Т.к. первое число состоит из 9 цифр, а второе из 5 цифр, то ко второму числу слева приписываем 4 нуля.
Теперь можно вычитать и складывать:
101110101 - 000010111 = 101011110 = 350
При этом нужно запомнить, если у числа занимаем, то занимаем 2, а не 1. Например, 110 - 001. От нуля же нельзя вычесть 1, значит нужно занять у соседней единицы. У себя на черновике получаем: 102 - 001, затем вычитаем и получаем результат равный 101 = 5.
Отвлекся. Осталось сложить.
101110101 + 000010111 = 110001100
Тоже нужно запомнить: при сложении, если складываются 1 и 1, то записываем 0 и запоминаем 1. Например, возьмем числа: 101 + 011 = 1000. При сложении последних получаем 0 и 1 в уме, затем 1+0 и еще +1 в уме получаем 0 и 1 снова в уме, затем 0+1 и еще +1 в уме получаем 0 и 1 в уме, который складывается с нулем (т.к. говорилось выше, что если не хватает чисел, то добавляем нули). Вот и все.