Деление длинных чисел столбиком - C#

Узнай цену своей работы

Формулировка задачи:

Нужна помощь. Дали лабораторную написать консольное приложение "арифметические действия над длинными числами". biginteger не канает, классы еще не проходили, все что есть это математика и массивы. Так то операции описал, а деление ну никак не могу. Есть два массива одинаковой длины из цифр этих самых длинных чисел, первое число заведомо больше второго. Был вариант использовать вычитание, но если результат достаточно большой, то программа может выполняться часами.

Решение задачи: «Деление длинных чисел столбиком»

textual
Листинг программы
            Console.Write("введите первое число: ");
            string str1 = Console.ReadLine();
            Console.Write("введите второе число: ");
            string str2 = Console.ReadLine();
            long strvr = 0;
            long dvde = 0;
            long ostk = Convert.ToInt64(str1.Substring(0, str2.Length - 1));
            long dvde1 = 0;
            int nn = 0;
            while ((Convert.ToInt64(str1) - dvde * Convert.ToInt64(str2)) >= Convert.ToInt64(str2))
            {
                strvr = 0;
                for (int i = nn; strvr < Convert.ToInt64(str2); i++)
                {
                    strvr = Convert.ToInt64(ostk.ToString() + str1.Substring(str2.Length - 1 + i, 1));
                    nn += 1;
                }
                dvde1 = strvr / Convert.ToInt64(str2);
                ostk = strvr - Convert.ToInt64(str2) * dvde1;
                dvde = Convert.ToInt64(dvde.ToString() + dvde1.ToString());
            }
            Console.Write("результат деления: " + dvde.ToString() + ", остаток деления: " + ostk.ToString());
            Console.Read();

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


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

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

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