Предмет: Информатика, автор: sodis

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

Ответы

Автор ответа: 65biso2
1

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

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;

}

Похожие вопросы
Предмет: Английский язык, автор: werbitumpubg
Предмет: Алгебра, автор: slava151275
Предмет: Математика, автор: jarikfes2011