Tôi được yêu cầu tính toán biểu thức gốc lồng nhau sau chỉ sử dụng đệ quy .
Tôi đã viết mã dưới đây hoạt động, nhưng họ cho phép chúng tôi chỉ sử dụng một chức năng và 1 đầu vào n
cho mục đích chứ không phải 2 như tôi đã sử dụng. Ai đó có thể giúp tôi chuyển đổi mã này thành một hàm sẽ tính biểu thức không? Không thể sử dụng bất kỳ thư viện ngoại trừ các chức năng từ <math.h>
.
đầu ra cho n = 10: 1.757932
double rec_sqrt_series(int n, int m) {
if (n <= 0)
return 0;
if (m > n)
return 0;
return sqrt(m + rec_sqrt_series(n, m + 1));
}
double helper(int n) {
return rec_sqrt_series(n, 1);
}
abort()
(từ <stdlib.h>
), không âm thầm trả về 0.
double nested_root(unsigned n) { double x = 0.0; if (n > 0) { x = nested_root(0); for (unsigned i = n; i > 0; i--) { x = sqrt(i + x); } } return x; }
helper
?