uses crt;
var t:real;
begin
t=trunc(exp((63*ln(2))));
writeln('So dong tien la : ',t);
readln;
end.
uses crt;
var t,s:qword;
i:integer;
begin
clrscr;
t:=1;
s:=1;
for i:=2 to 64 do
begin
s:=s*2;
t:=t+s;
end;
writeln(t);
readln;
end.
Mình không hiểu sao mình làm ra các thuật toán khác nhau mà vẫn bị lỗi. Có lẽ do lỗi dữ liệu .
Dữ liệu lớn nhất của Pascal là Int64 (-9 223 372 036 854 775 808.. 9 223 372 036 854 775 807) nhưng kết quả là 18 446 744 073 709 551 615
*Một số thuật toán gợi ý cho bạn cách giải.
1) Bạn chỉ cần tính tổng dãy sau: 20+21+22+23+...+263
2) Bạn tính kết quả của phép tính sau: 264-1
dùng cộng số lớn với nhân số lớn (trong chuyên đề xử lí số lớn)
program andanh;
uses crt;
var i:integer;
dong:real;
begin
clrscr;
dong:= 1;
for i:= 2 to 64 do
dong:= dong + (dong * 2);
write('So dong tien la: ',dong:0:0);
readln
end.