Задача:
Напишите программу, которая запрашивает у пользователя число и выводит, является ли оно квадратом целого числа. Python.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Запросить у пользователя число и сохранить его в переменную
number
как вещественное число. -
Проверить, является ли введенное число отрицательным:
- Если да, вывести "No", так как отрицательные числа не могут быть квадратами целых чисел.
-
Если число неотрицательное:
- Вычислить квадратный корень из числа и округлить его до ближайшего целого, сохранив результат в переменную
root
. - Возвести
root
в квадрат и сравнить с исходным числом:- Если они равны, вывести "Yes" (число является квадратом целого числа).
- Если не равны, вывести "No" (число не является квадратом целого числа).
- Вычислить квадратный корень из числа и округлить его до ближайшего целого, сохранив результат в переменную
Код программы на языке Python:
Код Python
number = float(input("Enter a number: "))
if number < 0:
print("No")
else:
root = int(number ** 0.5)
if root * root == number:
print("Yes")
else:
print("No")
Примеры входных данных и ожидаемых результатов:
Input: 16
Output: Yes
Input: 25
Output: Yes
Input: 7
Output: No
Input: 0
Output: Yes
Input: -4
Output: No
Input: 3.14
Output: No
Input: 100
Output: Yes
Input: 99
Output: No
Объяснение кода программы:
-
Ввод данных:
Программа запрашивает у пользователя число и сохраняет его в переменнуюnumber = float(input("Enter a number: "))
number
как число с плавающей точкой. -
Проверка отрицательного числа:
Если введенное число отрицательное, программа сразу выводит "No", так как отрицательное число не может быть квадратом целого числа.if number < 0: print("No")
-
Вычисление корня:
Если число неотрицательное, программа вычисляет квадратный корень из него и округляет результат до ближайшего целого числа вниз.else: root = int(number ** 0.5)
-
Проверка на квадрат целого числа:
Программа проверяет, равен ли квадрат полученного корня исходному числу. Если да, то число является квадратом целого числа и выводится "Yes". В противном случае выводится "No".if root * root == number: print("Yes") else: print("No")