Venciity

[SoftUni C# exam preparation] 04.BullsAndCows

Apr 10th, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.39 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class Program
  5. {
  6.     public static void Main()
  7.     {
  8.         int secretNum = int.Parse(Console.ReadLine());
  9.         int targetBulls = int.Parse(Console.ReadLine());
  10.         int targetCows = int.Parse(Console.ReadLine());
  11.  
  12.         List<int> results = new List<int>();
  13.         char usedSecretNum = '*';
  14.         char usedSearchedNum = '@';
  15.  
  16.         for (int searchedNum = 1111; searchedNum <= 9999; searchedNum++)
  17.         {
  18.  
  19.             int foundedBulls = 0;
  20.             int foundedCows = 0;
  21.             char[] secretNumDigits = secretNum.ToString().ToCharArray();
  22.             char[] searchedNumDigits = searchedNum.ToString().ToCharArray();
  23.  
  24.             if (searchedNumDigits[0] >= '1' &&
  25.                 searchedNumDigits[1] >= '1' &&
  26.                 searchedNumDigits[2] >= '1' &&
  27.                 searchedNumDigits[3] >= '1')
  28.             {
  29.  
  30.                 for (int i = 0; i < secretNumDigits.Length; i++)
  31.                 {
  32.                     if (secretNumDigits[i] == searchedNumDigits[i])
  33.                     {
  34.                         foundedBulls++;
  35.                         secretNumDigits[i] = usedSecretNum;
  36.                         searchedNumDigits[i] = usedSearchedNum;
  37.                     }
  38.                 }
  39.  
  40.                 for (int indexSecretNum = 0; indexSecretNum < secretNumDigits.Length; indexSecretNum++)
  41.                 {
  42.                     for (int indexSearchedNum = 0; indexSearchedNum < searchedNumDigits.Length; indexSearchedNum++)
  43.                     {
  44.                         if (searchedNumDigits[indexSearchedNum] == secretNumDigits[indexSecretNum])
  45.                         {
  46.                             foundedCows++;
  47.                             secretNumDigits[indexSecretNum] = usedSecretNum;
  48.                             searchedNumDigits[indexSearchedNum] = usedSearchedNum;
  49.                         }
  50.                     }
  51.                 }
  52.  
  53.                 if (targetBulls == foundedBulls && targetCows == foundedCows)
  54.                 {
  55.                     results.Add(searchedNum);
  56.                 }
  57.             }
  58.         }
  59.  
  60.         if (results.Count == 0)
  61.         {
  62.             Console.WriteLine("No");
  63.         }
  64.  
  65.         else
  66.         {
  67.             for (int i = 0; i < results.Count; i++)
  68.             {
  69.                 Console.Write(results[i] + " ");
  70.             }
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment