Advertisement
krasi1105

Methods - 12.Master Number

Jan 25th, 2017
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.82 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 Methods_MasterNumber
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = int.Parse(Console.ReadLine());
  14.             for (int i = 232; i <= n; i++)
  15.             {
  16.                 if (IsPalindrome(i) && HoldsEvenAndDivisibleBySeven(i))
  17.                 {
  18.                     Console.WriteLine(i);
  19.                 }
  20.             }
  21.  
  22.  
  23.  
  24.         }
  25.         static bool IsPalindrome(int number)
  26.         {
  27.             int oldNumber = number;
  28.             int numberLength = 2;
  29.             number = number / 100;
  30.             while (number > 0)
  31.             {
  32.                 number = number / 10;
  33.                 numberLength++;
  34.             }
  35.             for (int i = 0; i < numberLength; i++)
  36.             {
  37.                 int digitEnd = (int)Math.Floor((oldNumber / Math.Pow(10, i))) % 10;
  38.                 int digitStart = (int)Math.Floor((oldNumber / Math.Pow(10, numberLength - 1 - i))) % 10;
  39.                 if (digitEnd != digitStart)
  40.                 {
  41.                     return false;
  42.                 }
  43.             }
  44.             return true;
  45.         }
  46.         static bool HoldsEvenAndDivisibleBySeven(int number)
  47.         {
  48.             int sum = number % 10;
  49.             number = number / 10;
  50.             bool holdsEven = false;
  51.             while (number > 0)
  52.             {
  53.                 sum += number % 10;
  54.                 if ((number % 10 )% 2 == 0)
  55.                 {
  56.                     holdsEven = true;
  57.                 }
  58.                 number = number / 10;
  59.             }
  60.             if (sum % 7 == 0 && holdsEven)
  61.             {
  62.                 return true;
  63.             }
  64.             return false;
  65.         }
  66.        
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement