Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
mracobes9
8 / 8 / 1
Регистрация: 02.04.2015
Сообщений: 195
#1

Деление больших чисел - C++

14.05.2015, 19:58. Просмотров 298. Ответов 0
Метки нет (Все метки)

Привет всем. Написал функцию для деления больших чисел, но к сожалению вычисления идут очень долго. Может кто-нибудь помочь с переделкой этой функции ?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int Div(int *S, int *S1, int n, int n1, char A[], char B[])
{
    int t = SizeOfDec(n, n1);
    int *S3 = S, i = 0, *S31, *S11;
    int u = ComparingNumber(S, S1, n, n1);
    for (; u>0; i++)
    {
        S3 = Dec(S3, S1, n, n1, t);
        for (long long int i = t - 1; i >= 0; i--)
        {
            if (S3[i] == 0)
            {
                t--;
            }
            if (S3[i] != 0)break;
        }
        S31 = TurnArray(S3, t);
        ///PrintArray2(S31, t);
        ///printf("\n");
        S11 = TurnArray(S1, n1);
        ///PrintArray2(S11, n1);
        ///printf("\n");
        u = ComparingNumber(S31, S11, t, n1);
    }
    return i;
}
Вот вспомогательные функции
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int ComparingNumber(int *S1, int *S2, int n, int n1)
{
    int t;
    if (n > n1) t = 1;
    if (n < n1) t = 0;
    if (n == n1)
    {
        for (int i = 0; i <n; i++)
        {
            if (S1[i]>S2[i])
            {
                t = 1;
                break;
            }
            if (S1[i] < S2[i])
            {
                t = 0;
                break;
            }
            if (S1[i] == S2[i])
            {
                t = -1;
            }
        }
    }
    return t;
}
int* TurnArray(int *S, int n)
{
    int* S3 = (int*)malloc(sizeof(int)*n);
    for (int i = 0, i1 = 1; i<n; i++, i1++)
    {
        S3[i] = S[n - i1];
        if (S[n-i1] < 0) S3[i] = 0;
    }
    return S3;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2015, 19:58     Деление больших чисел
Посмотрите здесь:

Деление больших чисел - C++
Здравствуйте, уважаемые форумчане. Необходимо разделить большое чило на большое число. Эти числа хранятся в массиве ( каждый элемент -...

Деление больших чисел - C++
Доброго времени суток. Спасите пожалуйста, как здесь быть:) Даны два числа. Ваша задача найти частное и остаток от деления. Input...

Ускорить деление больших чисел - C++
Всё бы ничего, да уж очень медленно. :( По форуму смотрел, в Инете искал. Ничего аппетитного нетути. Деление длинного на длинное. ...

Класс больших чисел. Деление по Кнуту. - C++
Кнут т2 стр. 300 алгоритм D. Кто реализовал для b=2^32 или 2^16 - поделитесь, плз, если не жалко ! (А то у меня много неясных моментов....

Деление больших чисел (нужно ускорить) - C++
Ребятки, помогите ускорить. Уж очень медленно. Класс совсем простой(вектор со знаком): static const unsigned long long BASE =...

Деление с остатком и без. При больших значениях делит не правильно - C++ Builder
Здравствуйте имеем такую задачу: Присвоить целой переменной k третью от конца цифру в записи положительного целого числа n....

Из N вещественных чисел определить количество чисел, больших своих соседей - C++ Builder
Задана последовательность(одномерный массив) из n вещественных чисел. Определить количество чисел, больших своих соседей, т.е предыдущего и...

Деление вещественных чисел - C++
Есть float a,b,rez; Делю 4 на 2 = 2 все нормально. 2 на 4 ответ 0 Как правильно делить вещественные числа в с++?

Деление комплексных чисел - C++
Запуталась с делением комплексных чисел. Помогите пожалуйста. struct complex { double a; double b; }A,B,C; void...

Деление двоичных чисел - C++
Пожалуйста помогите!! Даны два двоичных числа, они записанны в строки, и это важное условие(без перевода числа в целое)... Необходимо...

Деление двух чисел - C++
составить программу делится ли одно число на другое без остатка. Я составил, программа к рассмотрению: #include &quot;windows.h&quot; #include...

Деление комплексных чисел - C++
Вот код #include &lt;iostream&gt; #include &lt;math&gt; using namespace std; typedef struct { float re, im; } cmplx; cmplx cmplx_div(...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru