面接の質問を解くとき
質問 6 桁の数に 2 から 9 までの整数を掛けると、元の 6 桁の数の桁が逆になるような方法で 6 桁の数を見つける必要があります。
例:
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 でそれを完了するのはとても混乱しました。