Вопрос задан 14.07.2023 в 18:48. Предмет Информатика. Спрашивает Васильев Даниил.

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

т. е. числом, десятичная запись которого читается одинаково слева направо и справа налево.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Грачёва Виолетта.

Можно сделать проще со строкой, но так как у меня уже написано математическое решение, могу его привести.

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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для определения, является ли трехзначное число перевертышем, можно выполнить следующую программу на Python:

python
def 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()

Как работает программа:

  1. Определяется функция is_palindrome, которая принимает число num, преобразует его в строку и сравнивает с перевернутой версией строки (num_str[::-1]). Если строки равны, функция возвращает True, иначе - False.
  2. В функции main, пользователю предлагается ввести трехзначное число.
  3. Программа проверяет, что введенное значение является числом в диапазоне от 100 до 999 включительно.
  4. Если число соответствует требованиям, программа вызывает функцию is_palindrome для проверки, является ли число перевертышем.
  5. Выводится результат: число является перевертышем или нет.

Пожалуйста, обратите внимание, что пользовательский ввод здесь осуществляется через функцию input, поэтому пользователю будет предложено ввести значение в командной строке после запуска программы.

0 0

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

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

Последние заданные вопросы в категории Информатика

Задать вопрос