
Дано трехзначное число. Напишите программу, которая определяет, является ли число «перевертышем»,
т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево.

Ответы на вопрос

Можно сделать проще со строкой, но так как у меня уже написано математическое решение, могу его привести.
C# 8.0: https://ideone.com/Gtwkop
public static bool IsPolindrome(int val)
{
int len = NumberLength(val);
for (int i = 0; i < len; i++)
if (
GetDigitByIndex(val, i)
!=
GetDigitByIndex(val, len - i - 1)
)
return false;
return true;
}
public static int GetDigitByIndex(in int Num, in int Index) //Debugged
{
if (Index < 0 || Index > NumberLength(Num) - 1) throw new System.IndexOutOfRangeException();
return (Num / (int)Math.Pow(10, NumberLength(Num) - Index - 1) % 10);
}
public static int NumberLength(int num)
{
int count = 1;
for (int i = 10; (num / i) != 0; i *= 10, count++) ;
return count;
}



Для определения, является ли трехзначное число перевертышем, можно выполнить следующую программу на Python:
pythondef is_palindrome(num):
num_str = str(num)
return num_str == num_str[::-1]
def main():
try:
number = int(input("Введите трехзначное число: "))
if 100 <= number <= 999:
if is_palindrome(number):
print(f"{number} - это перевертыш!")
else:
print(f"{number} - это не перевертыш.")
else:
print("Пожалуйста, введите трехзначное число.")
except ValueError:
print("Ошибка: Некорректный ввод. Введите целое трехзначное число.")
if __name__ == "__main__":
main()
Как работает программа:
- Определяется функция
is_palindrome
, которая принимает числоnum
, преобразует его в строку и сравнивает с перевернутой версией строки (num_str[::-1]
). Если строки равны, функция возвращаетTrue
, иначе -False
. - В функции
main
, пользователю предлагается ввести трехзначное число. - Программа проверяет, что введенное значение является числом в диапазоне от 100 до 999 включительно.
- Если число соответствует требованиям, программа вызывает функцию
is_palindrome
для проверки, является ли число перевертышем. - Выводится результат: число является перевертышем или нет.
Пожалуйста, обратите внимание, что пользовательский ввод здесь осуществляется через функцию input
, поэтому пользователю будет предложено ввести значение в командной строке после запуска программы.


Похожие вопросы







Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili