Advertisement
VelizarAvramov

12. Master Number

Nov 17th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.26 KB | None | 0 0
  1. using System;
  2.  
  3. namespace _12._Master_Numbers
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int n = int.Parse(Console.ReadLine());
  10.             for (int i = 1; i <= n ; i++)
  11.             {
  12.                 if (IsPalindromE(i) && SumOfDigits(i) && HasEvenDigit(i))
  13.                 {
  14.                     Console.WriteLine(i);
  15.                 }
  16.             }
  17.         }
  18.  
  19.         static bool HasEvenDigit(int i)
  20.         {
  21.             int current = 0;
  22.             bool hasEven = false;
  23.             while (i != 0)
  24.             {
  25.                 current = i % 10;
  26.                 if (current % 2 == 0)
  27.                 {
  28.                     hasEven = true;
  29.                     return hasEven;
  30.                 }
  31.                 i /= 10;
  32.             }
  33.             return hasEven;
  34.         }
  35.  
  36.         static bool SumOfDigits(int i)
  37.         {
  38.             int sumDigit = 0;
  39.             while (i != 0)
  40.             {
  41.                 sumDigit += i % 10;
  42.                 i /= 10;
  43.             }
  44.             if (sumDigit % 7 == 0)
  45.             {
  46.                 return true;
  47.             }
  48.             else
  49.             {
  50.                 return false;
  51.             }
  52.         }
  53.  
  54.         static bool IsPalindromE(int i)
  55.         {
  56.             //bool isPalindrome = false;
  57.             //int reversed = 0;
  58.             //int oldNumber = i;
  59.             //int power = i.ToString().Length - 1;
  60.             //int loop = i.ToString().Length;
  61.             //for (int j = 0; j < loop; j++)
  62.             //{
  63.             //    reversed += i % 10 * (int)Math.Pow(10, power);
  64.             //    power--;
  65.             //    i /= 10;
  66.  
  67.             //}
  68.             //if (reversed == oldNumber)
  69.             //{
  70.             //    return true;
  71.             //}
  72.             //else
  73.             //{
  74.             //    return false;  
  75.             //}
  76.             int reversed = 0;
  77.             int oldNumber = i;
  78.             while (i != 0)
  79.             {
  80.                 reversed *= 10;
  81.                 reversed += i % 10;
  82.                 i /= 10;
  83.             }
  84.             if (reversed == oldNumber)
  85.             {
  86.                 return true;
  87.             }
  88.             else
  89.             {
  90.                 return false;
  91.             }
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement