Chào mọi người , mình đang học về đệ quy và đang tìm hiểu về đệ quy phi tuyến tính , có một bài tập mình không hiểu về cách mà hàm trả lại kết quả , đề bài như thế này
Đây là code
#include <iostream>
using namespace std;
float sum(int n)
{
if(n<=0)
return 0;
return (float)n/(n+1) + sum(n-1);
}
int main()
{
int n = 0;
cout << "Nhap n : ";
cin >> n;
float kq = sum(n);
cout << kq;
}
Mình có debug thử nhưng vẫn chưa thông suốt lắm , Mình đang thắc mắc là không biết khi hàm trả về chương trình sẽ hoạt động như thế này , có phải là (float)n/(n+1) tương đương với 1/2, 2/3 … ? , vậy thì sum(n-1) nó thuộc về đâu ? và khi trả về nó sẽ tính toán như thế nào , mong các bạn giải đáp giúp mình. 

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