RosettaCodeData/Task/Arbitrary-precision-integers--included-/Pascal/arbitrary-precision-integers--included-.pascal
Ingy döt Net b83f433714 tasks a-s
2013-04-10 23:57:08 -07:00

26 lines
463 B
Text

program GMP_Demo;
uses
math, gmp;
var
a: mpz_t;
out: pchar;
len: longint;
i: longint;
begin
mpz_init_set_ui(a, 5);
mpz_pow_ui(a, a, 4 ** (3 ** 2));
len := mpz_sizeinbase(a, 10);
writeln('GMP says size is: ', len);
out := mpz_get_str(NIL, 10, a);
writeln('Actual size is: ', length(out));
write('Digits: ');
for i := 0 to 19 do
write(out[i]);
write ('...');
for i := len - 20 to len do
write(out[i]);
writeln;
end.