LardaX

Master-Number

Oct 2nd, 2016
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.30 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Master_Number
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int endNumber = int.Parse(Console.ReadLine());
  14.             for (int i = 1; i <= endNumber; i++)
  15.             {
  16.                 if (IsPalindrome(i) && IsSumOfDigitsIsDivisibleBySeven(i) && ContainsEvenDigit(i))
  17.                 {
  18.                     Console.WriteLine(i);
  19.                 }
  20.             }
  21.         }
  22.  
  23.         static bool IsPalindrome(int number)
  24.         {
  25.             string numberAsString = number.ToString();
  26.             for (int i = 0; i <= numberAsString.Length - 1; i++)
  27.             {
  28.                 if (numberAsString[i] != numberAsString[numberAsString.Length - 1 - i])
  29.                 {
  30.                     return false;
  31.                 }
  32.             }
  33.             return true;
  34.  
  35.  
  36.             /*string mirrorNumber = "";
  37.             for (int i = numberAsString.Length-1; i >= 0; i--)
  38.             {
  39.                 mirrorNumber += numberAsString[i];
  40.             }
  41.             if (mirrorNumber == numberAsString)
  42.             {
  43.                 return true;
  44.             }
  45.             return false;*/
  46.         }
  47.  
  48.         static bool IsSumOfDigitsIsDivisibleBySeven(int number)
  49.         {
  50.             int sumOfDigits = 0;
  51.             while (number != 0)
  52.             {
  53.                 sumOfDigits += number % 10;
  54.                 number /= 10;
  55.             }
  56.             if (sumOfDigits % 7 == 0)
  57.             {
  58.                 return true;
  59.             }
  60.             return false;
  61.         }
  62.  
  63.         static bool ContainsEvenDigit(int number)
  64.         {
  65.             string numberAsString = number.ToString();
  66.             for (int i = 0; i <= numberAsString.Length - 1; i++)
  67.             {
  68.                 if (numberAsString[i] % 2 == 0)
  69.                 {
  70.                     return true;
  71.                 }
  72.             }
  73.             return false;
  74.             /*while (number != 0)
  75.             {
  76.                 int lastDigit = number % 10;
  77.                 if (lastDigit % 2 == 0)
  78.                 {
  79.                     return true;
  80.                 }
  81.                 number /= 10;
  82.             }
  83.             return false;*/
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment