Đây là chương trình tính giai thừa của 1 số:
Program Tinh_gt;
uses crt;
var n:integer;
function gt(m:integer):integer;
begin
if m=0 then gt:=1 else gt:=m*gt(m-1);
end;
begin
clrscr;
write('tinh giai thua cua n = '); readln(n);
write('ket qua = ',gt(n));
readln
end.
VD nhập số 5 => KQ = 5 * 4 *3 * 2 *1 = 120.
Nhưng em ko hiểu ở phần trong chương trình trên "gt:=m*gt(m-1)"
Giải thích giúp em nguyên lý hoạt động của phần "gt:=m*gt(m-1)" làm thế nào mà có thể tính được giai thừa của 1 số.
Bookmarks