Manejo del cálculo temporal en Linq.
Al resolver una pregunta de entrevista
Pregunta Es necesario encontrar un número de seis dígitos de tal manera cuando se multiplica por un número entero entre 2 y 9 para obtener el número original de seis dígitos cuando sus dígitos se invierten.
Ejemplo:
Supongamos que multiplico 219978 * 4 obtengo 879912, cuando reverso 879912 obtendré 219978 de vuelta.
Lo resolví 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);
}
}
}
La tarea original era resolverlo usando linq. Tengo un poco de confusión en el manejo de los cálculos de temperatura, por ejemplo
cuando uso
var = from l in Enumerable.Range(100000,999999)
from i in Enumerable.Range(3,9)
¿Cuál es la forma de manejar cálculos temporales como var num = l.ToString (), etc. en linq? Me confundió mucho terminarla en Linq. Se agradece la ayuda.