Tin học Giải bài toán Tháp Hà nội

P

poseidon225

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Đề : giả bài toán Tháp Hà Nội ta có h(1)=1,h(n)=2h(n-1).giả sử mỗi lần chuyễn là 1 giây. Hỏi để chuyễn 64 lần cần bao nhiêu lâu ( tính ra độ chính xác ngày )
Mình viết thử trong FPC, chạy dc phần tính H(64) còn phần kia hem hỉu sao lại báo lỗi.
Các Pro giúp tớ với
Program thaphanoi;
Uses Crt;
Type Bigint=array[1..1000]of integer;
Var a,thuong:int64;
du,d,d2,rong:bigint;
Function nhan2(n1:bigint):bigint;
Var i,t:integer;
Begin
t:=0;
For i:=1 to 1000 do
begin
t:=2*n1+t;
nhan2:=t mod 10;
t:=t div 10;
end;
end;
Function hieu(m2,n2:bigint):bigint;
Var i,c:integer;
Begin
c:=0;
For i:=1 to 1000 do
begin
c:=m2-n2-c;
If c<0 then begin
hieu:=c+10;
c:=1;
end
else begin
hieu:=c;
c:=0;
end;
end;
end;
Function ss(m,n:bigint):string;
Var i:integer;
Begin
For i:=1000 downto 1 do
If m>n then exit('lon')
else if m<n then exit('nho')
else exit('bang');
end;
Procedure chia(m3,n3:bigint);
Var tg,i:integer;
Begin
if ss(hieu(m3,n3),n3)='nho' then
begin
For i:=1 to 1000 do
du:=hieu(m3,n3);
exit;
end
else begin
inc(;
end;
Function H(n:integer):bigint;
Begin
If n=1 then h[1]:=1
else h:=nhan2(h(n-1));
end;
Procedure xuly;
var s:string;
j:int64;
i:integer;
Begin
j:=3600*24*365;
str(j,s);
For i:=1 to length(s) do
d:=ord(s)-48;
j:=3600*24;
str(j,s);
For i:=1 to length(s) do
d2:=ord(s)-48;
end;
Begin
Clrscr;
thuong:=0;
{fillchar(rong,sizeof(rong),0);
fillchar(du,sizeof(du),0);
fillchar(du,sizeof(d),0);
fillchar(du,sizeof(d2),0);}
xuly;
Chia(h(6thuong);
chia(hieu(m3,n3),n3);
end4),d);
Write(' _ Can ',thuong,' nam ');
If ss(du,rong)<>'bang' then begin
chia(du,d2);
write(thuong,' ngay ');
end;
readln;
end.
 
P

poseidon225

ý mình muốn tìm số năm cần để chuyển 64 tầng kìa. hình như trong phần chia với trừ của bigint mình sai cái gì đó
 
P

poseidon225

mình dùng bigint tính trên mảng
ra được kết quả của H(64) rùi.
Còn phần chia thui
Nhưng mà hình như bị sai cái gì đó nó báo exitcode 202
 
P

poseidon225

Thanks a nhưng mà code của a không tìm được đến h(64) trong khi bài của e yêu cầu tìm thời gian của h(64).
 
L

luongxuanphong

tháp Hà Nội nếu có 64 tầng thì chạy trong hơn 58 tỉ năm
một con số hơi đáng sợ đúng ko
 
P

poseidon225

^^ tớ chưa làm được nữa chỉ tính ra được thời gian làm tháp theo giây thui. còn viết hàm chia ra, vì 2 số chênh lệch quá lớn nên chạy wá lâu lun, nản, nên thoát lun.cậu làm được share code cho mình với
 
Top Bottom