alexmitev

MagicCarNumbers

Nov 11th, 2015
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.10 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. //CAaaaaXY", "CAabbbXY", "CAaaabXY", "CAaabbXY", "CAababXY" and "CAabbaXY"
  7.  
  8. class Program
  9. {
  10.     static void Main()
  11.     {
  12.         int number = int.Parse(Console.ReadLine());
  13.         int sum = 40;
  14.         int counter = 0;
  15.         int[] digits = new int[6];
  16.         char[] letters = { 'A', 'B', 'C', 'E', 'H', 'K', 'M', 'P', 'T', 'X' };
  17.  
  18.         for (int i = 0; i <= 9; i++)
  19.         {
  20.             digits[0] = i;
  21.  
  22.             for (int j = 0; j <= 9; j++)
  23.             {
  24.                 digits[1] = j;
  25.  
  26.                 for (int k = 0; k <= 9; k++)
  27.                 {
  28.                     digits[2] = k;
  29.  
  30.                     for (int n = 0; n <= 9; n++)
  31.                     {
  32.                         digits[3] = n;
  33.  
  34.                         if
  35.                         (
  36.                            (digits[0] == digits[1] && digits[1] == digits[2] && digits[2] == digits[3])
  37.                         || (digits[1] == digits[2] && digits[2] == digits[3])
  38.                         || (digits[0] == digits[1] && digits[1] == digits[2])
  39.                         || (digits[0] == digits[1] && digits[2] == digits[3])
  40.                         || (digits[0] == digits[2] && digits[1] == digits[3])
  41.                         || (digits[0] == digits[3] && digits[1] == digits[2])
  42.                         )
  43.                         {
  44.                             for (int b = 0; b < letters.Length; b++)
  45.                             {
  46.                                 char c = letters[b];
  47.                                 int currentValue = 0;
  48.                                 switch (c)
  49.                                 {
  50.                                     case 'A': currentValue = 10; break;
  51.                                     case 'B': currentValue = 20; break;
  52.                                     case 'C': currentValue = 30; break;
  53.                                     case 'E': currentValue = 50; break;
  54.                                     case 'H': currentValue = 80; break;
  55.                                     case 'K': currentValue = 110; break;
  56.                                     case 'M': currentValue = 130; break;
  57.                                     case 'P': currentValue = 160; break;
  58.                                     case 'T': currentValue = 200; break;
  59.                                     case 'X': currentValue = 240; break;
  60.  
  61.                                 }
  62.                                 digits[4] = currentValue;
  63.  
  64.                                 for (int x = 0; x < letters.Length; x++)
  65.                                 {
  66.                                     char ch = letters[x];
  67.                                     int value2 = 0;
  68.                                     switch (ch)
  69.                                     {
  70.                                         case 'A': value2 = 10; break;
  71.                                         case 'B': value2 = 20; break;
  72.                                         case 'C': value2 = 30; break;
  73.                                         case 'E': value2 = 50; break;
  74.                                         case 'H': value2 = 80; break;
  75.                                         case 'K': value2 = 110; break;
  76.                                         case 'M': value2 = 130; break;
  77.                                         case 'P': value2 = 160; break;
  78.                                         case 'T': value2 = 200; break;
  79.                                         case 'X': value2 = 240; break;
  80.  
  81.                                     }
  82.                                     digits[5] = value2;
  83.  
  84.                                     int digitsSum = digits.Sum();
  85.  
  86.                                     if ((sum + digitsSum) == number)
  87.                                     {
  88.                                         counter++;
  89.                                     }
  90.                                 }
  91.                             }
  92.                         }
  93.  
  94.                     }
  95.                 }
  96.             }
  97.  
  98.         }
  99.  
  100.         Console.WriteLine(counter);
  101.     }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment