BorislavBorisov

01.02.Bulls and Cows - мое

Feb 20th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.32 KB | None | 0 0
  1. using System;
  2. class BullsAndCows
  3. {
  4.     static void Main()
  5.     {
  6.         int secretNumber = int.Parse(Console.ReadLine());
  7.         int bulls = Convert.ToInt32(Console.ReadLine());
  8.         int cows = Convert.ToInt32(Console.ReadLine());
  9.         int result = 0;
  10.         for (int guessNumber = 1111; guessNumber <= 9999; guessNumber++)
  11.         {
  12.            
  13.             if (guessNumber.ToString().IndexOf('0') > -1)
  14.             {
  15.                 continue;
  16.             }
  17.             int bullsFound = FindBulls(guessNumber,secretNumber);
  18.             int cowsFound = FindCows(guessNumber, secretNumber);
  19.             if (bulls == bullsFound && cowsFound == cows)
  20.             {
  21.                 result++;
  22.                 Console.Write(guessNumber + " ");
  23.             }
  24.         }
  25.         if (result == 0)
  26.         {
  27.             Console.WriteLine("No");
  28.         }
  29.     }
  30.  
  31.     static int FindCows(int guessNumber, int secretNumber)
  32.     {
  33.         char[] currentGuessNumber = guessNumber.ToString().ToCharArray();
  34.         char[] currentSecNumber = secretNumber.ToString().ToCharArray();
  35.         int cowsCount = 0;
  36.         for (int i = 0; i < 4; i++)
  37.         {
  38.             if (currentGuessNumber[i] == currentSecNumber[i])//тук трябва, защото в долния метод не сме го направили
  39.             {
  40.                 currentGuessNumber[i] = '*';
  41.                 currentSecNumber[i] = '*';
  42.             }
  43.         }
  44.  
  45.  
  46.         for (int i = 0; i < 4; i++)
  47.         {
  48.             for (int j = 0; j < 4; j++)
  49.             {
  50.                 if (currentGuessNumber[i] != '*' && currentGuessNumber[i] == currentSecNumber[j])
  51.                 {
  52.                     currentGuessNumber[i] = '*';
  53.                     currentSecNumber[j] = '*';
  54.                     cowsCount++;
  55.                 }
  56.             }
  57.         }
  58.         return cowsCount;
  59.     }
  60.  
  61.     static int FindBulls(int guessNumber, int secretNumber)
  62.     {
  63.         char[] currentGuessNumber = guessNumber.ToString().ToCharArray();
  64.         char[] currentSecNumber = secretNumber.ToString().ToCharArray();
  65.         int bullsCount = 0;
  66.  
  67.         for (int i = 0; i < 4; i++)
  68.         {
  69.             if (currentGuessNumber[i] == currentSecNumber[i])
  70.             {
  71.                 bullsCount++;
  72.             }
  73.         }
  74.         return bullsCount;
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment