Advertisement
yahorrr

Untitled

Sep 15th, 2022
829
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.34 KB | None | 0 0
  1. using System;
  2. using System.Reflection.Metadata.Ecma335;
  3.  
  4. namespace PalindromicNumberTask
  5. {
  6.     /// <summary>
  7.     /// Provides static method for working with integers.
  8.     /// </summary>
  9.     public static class NumbersExtension
  10.     {
  11.         /// <summary>
  12.         /// Determines if a number is a palindromic number, see https://en.wikipedia.org/wiki/Palindromic_number.
  13.         /// </summary>
  14.         /// <param name="number">Verified number.</param>
  15.         /// <returns>true if the verified number is palindromic number; otherwise, false.</returns>
  16.         /// <exception cref="ArgumentException"> Thrown when source number is less than zero. </exception>
  17.         public static int IntLength(int number)
  18.         {
  19.             int length = 0;
  20.             do
  21.             {
  22.                 length++;
  23.                 number /= 10;
  24.             }
  25.             while (number != 0);
  26.  
  27.             return length;
  28.         }
  29.  
  30.         public static bool IsPalindromicNumber(int number)
  31.         {
  32.             if (IntLength(number) < 2)
  33.             {
  34.                 return true;
  35.             }
  36.  
  37.             if (number / Math.Pow(10, IntLength(number) - 1) != number % 10)
  38.             {
  39.                 return false;
  40.             }
  41.  
  42.             return IsPalindromicNumber((int)(number % Math.Pow(10, IntLength(number) - 1)) / 10);
  43.         }
  44.     }
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement