Behandlung der temporären Berechnung in Linq
Bei der Lösung einer Interviewfrage
Frage Eine sechsstellige Zahl muss auf diese Weise gefunden werden, wenn sie mit einer ganzen Zahl zwischen 2 und 9 multipliziert wird und die ursprüngliche sechsstellige Zahl ergibt, wenn ihre Ziffern vertauscht werden.
Beispiel:
Angenommen, ich multipliziere 219978 * 4, ich erhalte 879912, wenn ich 879912 rückgängig mache, erhalte ich 219978 zurück.
Ich habe es mit gelöst
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);
}
}
}
Die ursprüngliche Aufgabe bestand darin, sie mit linq zu lösen. Ich habe ein bisschen Verwirrung im Umgang mit Temp-Berechnungen zum Beispiel
wenn ich benutze
var = from l in Enumerable.Range(100000,999999)
from i in Enumerable.Range(3,9)
Wie gehe ich mit temporären Berechnungen wie var num = l.ToString () usw. in Linq um? Es hat mich sehr verwirrt, sie in Linq.Help zu beenden.