Преобразовать число в обратный массив - C#
Формулировка задачи:
Есть число long, необходимо преобразовать пораздрядно в обратный long массив
Пример:
348597 => [7,9,5,8,4,3]
Намудил где то с разрядностью не могу понять где
public static long[] Digitize(long n)
{
string str = n.ToString();
long[] mas = new long[str.Length-1];
for (int i = 0; i<str.Length; i++)
{
mas[i] = Convert.ToInt64(str[str.Length-i-1]);
}
return mas;
}Решение задачи: «Преобразовать число в обратный массив»
textual
Листинг программы
using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
private static long[] Digits(long n)
{
List<long> digits = new List<long>(19);
do
{
digits.Add(Math.Abs(n % 10));
} while ((n /= 10) != 0);
return digits.ToArray();
}
public static void Main()
{
Console.WriteLine(String.Join(", ", Digits(1234)));
Console.WriteLine(String.Join(", ", Digits(-1234)));
Console.WriteLine(String.Join(", ", 1234.ToString().Reverse().Select(Char.GetNumericValue)));
}
}