Viết chương trình tính n!! (giai thừa kép) với n!! được định nghĩa như sau:
– n!! = 1 với n = 0
– n!! = 1.3.5..n với n lẻ.
– n!! = 2.4.6..n với n chẵn.
Yêu cầu: Sử dụng vòng lặp với số lần chưa biết trước:
Viết chương trình tính n!! (giai thừa kép) với n!! được định nghĩa như sau:
– n!! = 1 với n = 0
– n!! = 1.3.5..n với n lẻ.
– n!! = 2.4.6..n với n chẵn.
Yêu cầu: Sử dụng vòng lặp với số lần chưa biết trước:
. Hướng dẫn:
– Hai số chẵn liên tiếp hơn kém nhau 2. Hai số lẻ liên tiếp cũng vậy.
– Thực hiện tính như giai thừa đơn nhưng với bước nhảy là 2.
. Mã chương trình:
Program Giai_thua_kep;
uses crt;
var n,gt:longint;
begin
Repeat
write(‘Nhap so n: ‘);readln(n);
until n>0;
gt:=1;
while n>0 do
begin
gt:=gt*n;
n:=n-2;
end;
write(‘Giai thua la: ‘,gt);
readln
end.
Nhận xét:
– Với thuật toán trên ta không cần xét n là chẵn hay lẻ.
– Hai số chẵn liên tiếp hơn kém nhau 2 đơn vị
Hai số lẻ liên tiếp cũng liên tiếp nhau 2 đơn vị
– Thực hiện tính như giai thừa đơn nhưng với bước nhảy là 2.
. Mã chương trình:
Program Giai_thua_kep;
uses crt;
var n,gt:longint;
begin
Repeat
write(‘Nhap so n: ‘);readln(n);
until n>0;
gt:=1;
while n>0 do
begin
gt:=gt*n;
n:=n-2;
end;
write(‘Giai thua la: ‘,gt);
readln
end.
Nhận xét:
– Với thuật toán trên ta không cần xét n là chẵn hay lẻ.