А точнее?
Например воспользоваться пакетом для чисел высокой точности MPArith
http://home.netsurf.de/wolfgang.ehrhardt/mp_intro.html
ps: так бы и сказали, что надо преобразовать строку в целое число
функция StrToInt
Другие языки программирования и технологии
Как считать длинное число на Делфи?
Вася Чащин
Без пакетов. Нужна сама программа.
Alekcandr Bedunov
Это ссыль на Бэйсик =\ А дэлфи это паскаль =\
Ну вот пример программы на Паскале, которая выводи числа Фиббоначи…
Пока не произойдёт переполнение:
новое число не станет больше 512 цифр!
type
BigNum = array [0..255] of Byte; { до 256 цифр по 2 на ячейку }
procedure OutNum(N : BigNum);
var
S : String;
R : Byte;
begin
S := '';
for R := 255 downto 0 do
if Not((N[R] = 0) and (S = '')) then
S := S + IntToStr(N[R] div 10) + IntToStr(N[R] mod 10);
if S = '' then S := '0' else if S[1] = '0' then Delete(S, 1, 1);
WriteLn(S);
end;
var
N1, N2 : BigNum;
R : Byte;
Perenos : Word;
Perepolnenie : Boolean;
begin
{ обнуляем числа }
for R := 0 to 255 do begin N1[R] := 0; N2[R] := 0; end;
{ в N2 заносим 1 }
N2[0] := 1;
{ строим последовательность чисел Фибоначчи }
Perepolnenie := False;
repeat
OutNum(N2);
Perenos := 0;
for R := 0 to 255 do
begin
Perenos := Perenos + N1[R] + N2[R];
N1[R] := N2[R];
N2[R] := Perenos mod 100;
Perenos := Perenos div 100;
end;
Perepolnenie := (Perenos > 0);
until Perepolnenie;
end.
Пока не произойдёт переполнение:
новое число не станет больше 512 цифр!
type
BigNum = array [0..255] of Byte; { до 256 цифр по 2 на ячейку }
procedure OutNum(N : BigNum);
var
S : String;
R : Byte;
begin
S := '';
for R := 255 downto 0 do
if Not((N[R] = 0) and (S = '')) then
S := S + IntToStr(N[R] div 10) + IntToStr(N[R] mod 10);
if S = '' then S := '0' else if S[1] = '0' then Delete(S, 1, 1);
WriteLn(S);
end;
var
N1, N2 : BigNum;
R : Byte;
Perenos : Word;
Perepolnenie : Boolean;
begin
{ обнуляем числа }
for R := 0 to 255 do begin N1[R] := 0; N2[R] := 0; end;
{ в N2 заносим 1 }
N2[0] := 1;
{ строим последовательность чисел Фибоначчи }
Perepolnenie := False;
repeat
OutNum(N2);
Perenos := 0;
for R := 0 to 255 do
begin
Perenos := Perenos + N1[R] + N2[R];
N1[R] := N2[R];
N2[R] := Perenos mod 100;
Perenos := Perenos div 100;
end;
Perepolnenie := (Perenos > 0);
until Perepolnenie;
end.
гугл. "Delphi длинная арифметика"
Вася Чащин
Пробовала. Выдает обычно проги на С, что на делфи, там есть нечто мне непонятное)
Похожие вопросы
- СРОЧНО! Вопрос жизни и смерти Как умножать длинные числа на паскале?! При умножение иногда выдает переполнение ячейки.
- Расскажите что-нибудь на тему арифметики длинных чисел на MIPS ассемблере?
- нужно написать программку на ассемблере, к-рая считает факториал числа n
- Делфи, вывод в мемо случайных чисел без повторов из массива. массив от 1 до 35.
- 1. Получить сумму двух длинных натуральных чисел.
- надо решить задачку через делфи и паскаль)))
- Вопрос по делфи
- языки делфи и си
- Скажите сколько месяцев нужно изучать Делфи что бы написать программу вывода даты, дня недели и года в окно ?
- Дан массив, состоящий из цифр. Удалить из него все отрицательные числа. Делфи