Обработка временного расчета в Linq

При решении вопроса об интервью

Вопрос Шестизначное число должно быть найдено таким образом, когда оно умножается на целое число от 2 до 9, которое дает исходное шестизначное число, когда его цифры меняются местами.

Пример:

Предположим, что я умножил 219978 * 4, я получу 879912, при обратном 879912 я верну 219978.

Я решил это используя

for (long l = 100000; l < 999999; l++)
{
 var num = l.ToString();

for (int i = 3; i < 9; i++)
{
  var mul = l * i;
  string str = mul.ToString();
  char[] splitDigits = str.ToCharArray();
  string reversedDigit =
  new  string(splitDigits.Reverse().ToArray());

  if (reversedDigit.CompareTo(num) == 0)
    {
      Console.WriteLine("{0} * {1}= {2},
       when multiplied {3} ", num, i, mul,reversedDigit);

    }

 }
}

Первоначальной задачей было решить ее с помощью linq. Я немного запутался в обработке временных расчетов, например

когда я использую

   var = from l in Enumerable.Range(100000,999999)
         from i in Enumerable.Range(3,9)

Как обрабатывать временные вычисления, такие как var num = l.ToString () и т. Д. В linq. Меня очень смутило то, что я закончил в Linq.

Ответы на вопрос(2)

Ваш ответ на вопрос