Obsługa obliczeń tymczasowych w Linq
Podczas rozwiązywania pytania wywiadu
Pytanie Sześciocyfrowa liczba musi być znaleziona w taki sposób, gdy jest mnożona przez liczbę całkowitą między 2 a 9, daje oryginalną sześciocyfrową liczbę, gdy jej cyfry są odwrócone.
Przykład:
Przypuśćmy, że pomnożę 219978 * 4, a otrzymam 879912, gdy odwrócona 879912 otrzymam 219978 z powrotem.
Rozwiązałem to za pomocą
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);
}
}
}
Pierwotnym zadaniem było rozwiązanie go za pomocą linq. Mam na przykład trochę zamieszania w obsłudze obliczeń temp
kiedy używam
var = from l in Enumerable.Range(100000,999999)
from i in Enumerable.Range(3,9)
W jaki sposób radzić sobie z tymczasowymi obliczeniami, takimi jak var num = l.ToString (), itp. W linq.Mieszało mnie to bardzo, że skończyłem w Linq.Help jest doceniany.