Tính f(n) theo công thức :
f(1)=1
f(2n)=2f(n),
f(2n+1)=2f(n)+3f(n+1)
Mình có đoạn code như sau mà ra kết quả (đối chiếu với sử dụng đệ quy) thì lại khác, không biết có bị sai chỗ nào không
int khongdequy_tinhfn(int n)
{
int f1=1,f;
if (n==1) return 1;
for (int i=2;i<=n;i++)
{
if (i%2==0)
{
f=2*f1;
f1=f;
}
if (i%2!=0)
{
f=2*f1+3*(f1+1);
f1=f;
}
}
return f;
}
Xin cảm ơn
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?