Tôi thực sự nhận được hàng đệ quy (hoặc vì vậy tôi nghĩ), nhưng vấn đề này đang vấp ngã tôi. Tôi đang cố gắng trả về 1 + 1/2 + 1/3 + ... + 1/n, nhưng không có vấn đề gì tôi thử phương thức trả về 1.0. Tôi không thể cho cuộc sống của tôi tìm ra những gì sai.Đuổi theo trình tự hài hòa
public static double harmonic(int n) {
if(n == 1) {
return 1;
} else {
return (1/n) + (1/harmonic(n - 1));
}
}
Bạn đã kiểm tra điều này với một bước gỡ rối bước? – Zavior
Sử dụng số nhân đôi trong phép tính phân chia của bạn, tức là '(1.0/n)'. – Vulcan
Vâng, tôi đã làm. Tuy nhiên, thật khó để tôi theo dõi các vấn đề đệ quy thông qua trình gỡ lỗi, vì có quá nhiều cấp độ khó để theo dõi những gì đang diễn ra. – vaindil