В самом начале позвольте выразить искреннюю благодарность Marc Gravel, Dahlbyk, а остальное для оказания мне помощи в применении linq практически.Решающий мозговой тизер с использованием linq
Следующие несколько вопросов, с которыми я столкнулся в интервью, чтобы решить применение Linq. Поскольку я не знаком с Linq, я решил его без использования Linq.
Я ценю ответы, которые помогают мне решить их с помощью LinQ
Спасибо заранее.
Вопрос 1: Проблема заключается в том, чтобы найти различные цифры, так что в любом порядке, они используются, чтобы сделать три-значное число, это число не делится на:
3 , 5,7,11,13 или 17
Чтобы убедиться, что нет ambuigity, предположим, что три цифры являются а, б, и c.Then, ни одна из комбинации цифр:
говорят ABC, ACB, BAC, BCA, такси и сЬа будет разделить на 3,5,7,11,13 или 17.
Пример:
Когда я беру 248 ни один из его комбинации (284,428,482,842,824) будет точно делится на 3,5,7,11,13 или 17.
public void FindingRareNumbers()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9; j++)
{
for (int k = 1; k <= 9; k++)
{
//to form the three digit
string digit = i.ToString() + j.ToString() + k.ToString();
//converting to integer
int StrToDigit = Convert.ToInt32(digit);
char[] digitcombination = digit.ToCharArray();
string PossibleCombination = "";
bool testpassed = false;
int dcount = 0;
#region different possible combinations
for (int p = 0; p <= 2; p++)
{
for (int q = 0; q <= 2; q++)
{
for (int r = 0; r <= 2; r++)
{
// The following condition avoid the repeatance
// of digit like 111,111,111
if (p != q && p != r && r != q)
{
PossibleCombination =
digitcombination[p].ToString() +
digitcombination[q].ToString() +
digitcombination[r].ToString();
int num = Convert.ToInt32(PossibleCombination);
if (num % 3 != 0 && num % 5 != 0 && num % 7 != 0
&& num % 11 != 0 && num % 11 != 0
&& num % 13 != 0 && num % 17 != 0)
{
//count is increment for 6 times
// it satisfies the condition
dcount++;
testpassed = true;
}
}
}
}
}
#endregion combination
if (testpassed && dcount==6)
{
Console.WriteLine(StrToDigit);
}
}
}
}
}
(кодирование работает)
Вопрос 2:
Задача состоит в том, чтобы упорядочить элемент в матрице так, чтобы все строки, столбцы и диагонали добавлялись к одной и той же сумме. (Бит-проблема в кодировании, я пытаюсь ее решить).
------------------
1 2 3
-----------------
4 5 6
-----------------
7 8 9
-----------------
пример:
Одно из решений состоит в следующем:
-----------
2 9 4
-----------
7 5 3
----------
6 1 8
----------
Как насчет перестановок с двумя номерами одинаковыми? Почему вы не тестируете 113, 131, 311? –
(ответили на ваш ответ) –
Ах, вы правы, проблема вызывает «разные цифры». –