30/09/2018, 23:18
Tính giai thừa không ra, nhờ ae chỉ giúp
Code của mình đây:
float GiaiThua(int n)
{
int GT = 1;
for (int i = 1; i <= n; i--)
{
GT = (GT * i);
cout << GT;
}
return (float)GT;
}
phiên bản 2:
float GiaiThua(int n)
{
float GT = 1;
for (int i = 1; i <= n; i--)
{
GT = (GT *(float) i);
cout << GT;
}
return (float)GT;
}
-> kq ra vòng vĩnh cửu toàn số 0.
Mình là lính mới ae chỉ giáo
Bài liên quan
Cơ bản thì code ở trên bạn đang cho ra kết quả của phép tính
1 * 0
Vòng for i <= n và i-- thì vô hạn là đúng rồi bạn. i++ nhé bạn
Và mỗi lần in ra GT * i làm gì ? Chạy xong vòng for mới in hoặc return thì tuỳ bạn
nếu n = i = 1 nhưng nó vẫn i-- thì thành ra quay về *0 phải ko ạ?
Haha, cảm ơn mn. Tự dưng thấy mình ngu lạ
Mình in ra để xem lỗi ở chỗ nào thôi bạn