Ví dụ cho như sau :
A1=1
A(n)=n*(A1+A2+…+A(n-1)) (*)
Tính A(n) với n được nhập vào.
Và mình có đoạn code sau đây :
#include <iostream.h>
int tinhAn(int n);
int main()
{
int n;
cout<<"\nNhap vao n: ";
cin>>n;
cout<<"\nKet qua la: "<<tinhAn(n);
cout<<endl;
return 0;
}
int tinhAn(int n)
{
if (n==1) return 1;
return n*(1+tinhAn(n-1));
}
Mình phân vân tại chỗ này
int tinhAn(int n)
{
if (n==1) return 1;
return n*(1+tinhAn(n-1));
}
có đúng với cái (*) này hay không nữa ví nếu mình cho A(2) thì sẽ ra 4, A(3) thì sẽ ra 15
với
return n*(1+tinhAn(n-1));
còn với
return n*(0+tinhAn(n-1));
thì cho A(2) thì sẽ ra 2, A(3)=6
Mong được sự giúp đỡ của mọi người 

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?