cho số nguyên dương n. hãy tính n giai thừa
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
#include <bits/stdc++.h>
using namespace std;
int gt(int n)
{
if(n==1)
return 1;
return n*gt(n-1);
}
int main()
{
int n;
cin>>n;
cout<<"Giai thua"<<n<<"la: "<<gt(n);
return 0;
}
Dưới đây là một số bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n!:
Số nguyên dương: n = 5 Kết quả mong đợi: 5! = 120
Số nguyên âm: n = -3 Kết quả mong đợi: Lỗi - Số nguyên dương được yêu cầu
Số 0: n = 0 Kết quả mong đợi: Lỗi - Số nguyên dương được yêu cầu
Số nguyên lớn: n = 10 Kết quả mong đợi: 10! = 3628800
Số chẵn: n = 6 Kết quả mong đợi: 6! = 720
Số lẻ: n = 7 Kết quả mong đợi: 7! = 5040
Số nguyên tối đa: n = 12 Kết quả mong đợi: 12! = 479001600
Số nguyên tối thiểu: n = 1 Kết quả mong đợi: 1! = 1
Số nguyên dương lớn nhất: n = 999 Kết quả mong đợi: Kết quả chưa đúng do số quá lớn vượt quá giới hạn của kiểu dữ liệu int
Số nhập không phải số nguyên: n = "abc" Kết quả mong đợi: Lỗi - Số nguyên dương được yêu cầu
Những bộ dữ liệu này giúp kiểm thử chương trình với các trường hợp đặc biệt và tiềm ẩn lỗi, như số âm, số 0, số nguyên tối đa, số nhập không phải số nguyên, giúp đảm bảo tính đúng đắn và hoạt động ổn định của chương trình tính n!.
tham khảo!
uses crt;
var n,i,x,d,dem:longint;
s:real;
st:string;
begin
clrscr;
write('Nhap n='); readln(n);
s:=1;
for i:=1 to n do
s:=s*i;
str(s:0:0,st);
d:=length(st);
dem:=0;
for i:=d downto 1 do
if st[i]='0' then inc(dem);
writeln(dem);
readln;
end.
Tham khảo:
* Lặp tiến :
uses crt;
var i, n, P : longint;
begin
clrscr;
P := 1;
write('nhap so n : '); readln(n);
for i := 1 to n do P := P * i;
writeln(n,'! = ', P);
readln
end.
* Lặp lùi :
uses crt;
var i, n, P : longint;
begin
clrscr;
P := 1;
write('nhap so n : '); readln(n);
for i := n downto 1 do P := P * i;
writeln(n,'! = ', P);
readln
end.
uses crt;
var i,n,m,j,kt:integer;
begin
clrscr;
readln(n,m);
for i:=n to m do
begin
kt:=0;
if (i>2) then begin
for j:=2 to trunc(sqrt(i)) do
if i mod j=0 then kt:=1;
if kt=0 then write(i:4);
end;
readln;
end.
Ngôn ngữ gì bạn nhỉ? Đây là ví dụ trong python nha.
n = int(input("Nhập số nguyên dương n: "))
while n < 0:
print("Vui lòng nhập một số nguyên dương.")
n = int(input("Nhập lại số nguyên dương n: "))
giai_thua = 1
for i in range(1, n + 1):
giai_thua *= i
print("Giai thừa của", n, "là:", giai_thua)