Manipulação de cálculo temporário no Linq
Ao resolver uma questão da entrevista
Questão Um número de seis dígitos precisa ser encontrado de tal maneira quando é multiplicado por um número inteiro entre 2 e 9 que fornece o número de seis dígitos original quando seus dígitos são invertidos.
Exemplo:
Suponha que eu multiplique 219978 * 4 e recebo 879912, quando o reverso 879912 receberei 219978 de volta.
Eu resolvi usando
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);
}
}
}
A tarefa original era resolvê-lo usando o linq. Eu tenho um pouco de confusão na manipulação de cálculos temporários, por exemplo
quando eu uso
var = from l in Enumerable.Range(100000,999999)
from i in Enumerable.Range(3,9)
Qual é a maneira de lidar com cálculos temporários como var num = l.ToString (), etc em linq.It me confundiu muito para terminá-lo em Linq.Help é apreciado.