Tại sao nó lại ra như thế này với cái công thức này ạ! Em không hiểu công thức này ạ! Đừng chú ý đến tên file, em quên chưa đổi tên
Chưa hiểu hàm đệ quy
bạn không hiểu dòng nào?
Em không hiểu tại sao nó lại ra giá trị như vậy? Bởi công thức trong bài ạ! Như là 6 rồi đến 23 rồi đến 76 ạ!
bạn ghi ra tửng bước tính của công thức đó lên đây đi
Dạ là:
int val = 4*f(n-1);
val = val - 3*f(n-2);
val+=2;
return val;
Dạ đây ạ! Cảm ơn anh đã trả lời!
Và nó ra kết quả là: f(2) = 6, f(3) = 23, f(4) = 76 như hình em đăng ạ! Nhưng em không biết cách nó hoạt động để ra kết quả như thế này!
Đề bài đầy đủ của bạn đâu rồi?
Đề bài đầy đủ là cái code đó thôi ạ! Nó bảo mình giải thích sao nó ra kết quả như vậy ạ!
Người khác kêu ghi thì bạn chỉ ghi mà không thèm suy nghĩ gì về cái bạn ghi hay sao?
Theo code ta có:
f(0) = 0
f(1) = 1
f(2) = {
int val = 4*f(n-1) = 4*f(2-1) = 4*f(1) = 4;
val = val - 3*f(n-2) = 4 - 3*f(0) = 4 - 3*0 = 4;
val += 2 = 4 + 2 = 6;
return val = return 6;
} = 6;
f(3) = ...
f(0) = 0
f(1) = 1
f(n) = [4*f(n-1)] - [3*f(n-2)] + [2] khi n \ge 2
Có phải bạn chưa hiểu cách đệ quy?
Em hiểu rồi! Tiếp theo là f(3) = 4*f(2)=24;
val = val - 3*f(1) = 24 - 3 = 21;
val += 2 = 21+2 = 23
Em cảm ơn anh! Lần sau em sẽ rút kinh nghiệm ạ!
Cảm ơn anh! Em hiểu rồi ạ!