Преобразовать число в обратный массив - 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)));
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы