Bài tập về Ngôn ngữ lập trình "Đệ quỵ" giúp chúng ta củng cố những kiến thức về đệ quỵ. Để hiểu rõ hơn, ! | ĐỆ QUY Khái niệm : Một hàm được gọi là đệ qui nếu bên trong thân của hàm đó có lời gọi hàm lại chính nó Phân loại đệ qui : Đệ quy thường gặp thuộc một trong bốn loại sau : Đệ Đê Đệ Đệ qui tuyến tính qui nhị phân qui phi tuyến qui hỗ tương Cấu trúc hàm đệ qui : Đệ qui tuyến tính : Cấu trúc của nó giống như định nghĩa : KieuDuLieu TenHam(Thamso) { if(Dieu Kieu Dung) { .; return Gia tri tra ve; } .; TenHam(Thamso) .; .; } Đệ qui nhị phân : Cũng giống như đệ qui tuyến tính nhưng bên trong thân hàm của nó có thêm một lời gọi lại chính nó KieuDuLieu TenHam(Thamso) { if(Dieu Kieu Dung) { .; return Gia tri tra ve; } .; TenHam(Thamso); .; .; TenHam(Thamso); .; .; } Đệ qui tương hỗ : Trong đệ qui tương hỗ thì thường có 2 hàm , và trong thân của hàm này có lời gọi của hàm kia , điều kiện dừng và giá tri tra về của cả hai hàm có thể giống nhau hoặc khác nhau KieuDuLieu TenHamX(Thamso) { if(Dieu Kieu Dung) { .; return Gia tri tra ve; } .; return TenHamX(Thamso) TenHamY(Thamso); } KieuDuLieu TenHamY(Thamso) { if(Dieu Kieu Dung) { .; return Gia tri tra ve; } .; return TenHamY(Thamso)TenHamX(Thamso); } Đệ qui phi tuyến : Hàm được gọi là đệ qui phi tuyến nếu bên trong thân hàm có lời gọi lại chính nó được đặt bên trong thân của vòng lặp KieuDuLieu TenHam(Thamso) { if(Dieu Kieu Dung) { .; return Gia tri tra ve; } .; vonglap(dieu kieu lap) { .TenHam(Thamso).; } return Gia tri tra ve; } Bài tập đệ qui : 1/Đệ qui tuyến tính : Bài tập 730: Tính S(n) = 1 + 2 + 3 + . + n - 1 + n int Tinh(int n) { if (n==1) return 1; return Tinh(n-1) + n; } Bài tập 731 : Tính S(n) = 1^2 + 2^2 + 3^2 + . + (n-1)^2 + n^2 int Tinh(int n) { if (n==1) return 1; return Tinh(n-1) + n*n; } Bài tập 732 : Tính S(n) = 1 + 1/2 + 1/3 + . + 1/n float Tinh(float n) { if (n==1) return 1; return Tinh(n-1) + 1/n; } Bài tập 733 : Tính S(n) = 1/2 + 1/4 + . + 1/2n float Tinh(float n) { if (n==1) return ; return Tinh(n-1) + 1/(2*n); } Bài tập 734 : Tính S(n) = 1 + 1/3 + 1/5 +