Вопрос задан 24.09.2026 в 21:31.
Предмет Информатика.
Спрашивает Арапова Оля.
ДАЮ 40 БАЛЛОВ!
найдите ошибку и исправьте:
import math
n=int(input('n='))
for i in range (1, n+1):
b=int (input())
if math.sqrt (b)==int(math.sqrt(b)):
print(1, end='')
else:
print(0,end='')
Ответы на вопрос
Отвечает Иванов Кирилл.
Ошибка в программе связана с отступами после условий if и else. В Python код внутри if и else должен иметь одинаковый отступ. Также лучше не сравнивать результат math.sqrt(b) напрямую с int(math.sqrt(b)), так как из-за особенностей вычислений с плавающей точкой могут возникнуть ошибки. Надежнее сохранить корень в переменную.
Исправленный вариант:
Pythonimport mathn = int(input('n='))for i in range(1, n + 1): b = int(input()) x = int(math.sqrt(b)) if x * x == b: print(1, end='') else: print(0, end='')
Теперь программа проверяет каждое введенное число: если оно является полным квадратом (например, 4, 9, 16, 25), выводится 1, иначе выводится 0.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

