длинная арифметика



Автор Ализон задал вопрос в разделе Другие языки и технологии

Длинная арифметика и получил лучший ответ

Ответ от Ўрий-17[гуру]
Вот как интересно! Деление! Алгоритм деления использует умножение, с вычитанием, а умножение - сложение.. Более того, там ещё нужны операции сравнения. Ну если Вам надо только деление, вот целочисленное деление для положительных чисел с остатком:
string divp(string a,string b,string& ost)
{
int i,j;
string c,v,t,d,e;
if(ltp(a,b)) { c="0"; ost=a; return c; }
if(eq(a,b)) { c="1"; ost="0"; return c; }
for(i=0;i < b.size()-1;c+=a[i++]);
for(d="",v="1";;)
{c+=a[i++];
for(;c[0]=='0'&&c.size()>1;c.erase(j-1)) for(j=1;j < c.size();c[j-1]=c[j++]);
for(e="0",j=1;j<=9;j++)
{
e[0]=char(j+48);
t=mulp1(b,e);
if(!ltp(t,c)) if(!eq(t,c)) break;
}
e[0]=char(j+47);
d+=e[0];
t=mulp1(b,e);
c=subp(c,t);
if(i>=a.size()) break;
}
ost=c;
for(;d[0]=='0'&&d.size()>1;d.erase(i-1)) for(i=1;i < d.size();d[i-1]=d[i++]);
return d;
}
эта функция у меня используется для осуществления арифметического алгоритма сжатия данных.

Ответ от Alexey N[гуру]
Столбиком. И судя по всему, это не шутка.

Ответ от DiSet[гуру]
Лёгким движением руки брюки превращаются...

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Длинная арифметика
Длинная арифметика на Википедии
Посмотрите статью на википедии про Длинная арифметика
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*