Поиск угаданных цифр в числе - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, не могу реализовать алгоритм поиска угаданных цифр числа. Ситуация следующая: есть два массива, одинаковой размерности, в этих массивах находятся два числа, разложенных на ячейки. Нужно определить сколько цифр во втором массиве содержатся и в первом. Пример: первый массив содержит число 5161, то есть массив из четырех ячеек в каждой из которых содержится по одной цифре, если во втором массиве содержится число 1394, то моя программа выдавала, что "угаданных" чисел из первого массива 2, хотя на самом деле, "угаданная" цифра лишь одна. То есть проблема в следующем: если в первом массиве содержится цифра, встречающаяся несколько раз, а во втором массиве указана лишь одна цифра из этих встречающихся, то программа считает, что указаны все эти цифры. Знаю, объяснение сумбурное, но, надеюсь, на примере это выглядит понятно) Если кто-то реализовывал данный или похожий алгоритм, или знает как его реализовать - поделитесь, пожалуйста, буду очень благодарен помощи и любым идеям)

Решение задачи: «Поиск угаданных цифр в числе»

textual
Листинг программы
        /// <param name="numbers">Числа, которые нужно угадать</param>
        /// <param name="userNumbers">Числа, названные угадывающим</param>
        static int Guessed(int[] numbers, int[] userNumbers)
        {
            var numList = numbers.ToList();
            int count = 0;
            foreach (var item in userNumbers)
            {
                if (numList.Contains(item))
                {
                    count++;
                    numList.Remove(item);
                }
            }
            return count;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы