Select the statement that is most correct.
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "A recursive method is a method that invokes itself directly or indirectly. For a recursive method to terminate there must be one or more base cases.". Câu này nêu đủ hai nửa của khái niệm: định nghĩa đệ quy là hàm tự gọi chính nó, trực tiếp hoặc qua hàm trung gian, và điều kiện dừng là phải có trường hợp cơ sở trả về kết quả mà không gọi lại chính mình, nếu không chuỗi lời gọi dài mãi và tràn ngăn xếp. Phương án "There is no difference between a recursive method and a non-recursive method." sai vì hàm đệ quy sinh nhiều khung lời gọi lồng nhau trên ngăn xếp, trong khi hàm thường chỉ một khung. Phương án "For a recursive method to terminate there must be one or more steps." nói một điều rỗng, hàm nào cũng gồm các bước, cái quyết định dừng là nhánh không gọi lại. Phương án "For a recursive method to terminate there must be one or more limit conditions." chỉ chạm nửa sau và dùng chữ chung chung: một điều kiện chặn mà bên trong vẫn gọi lại chính mình thì chương trình vẫn không dừng, điều cần là nhánh cơ sở có đường ra.
Cùng phần 3
Consider the following function:
void fun(int n)
{if(n > 0)
{System.out.print(" " + n );
fun(n-2);
}
}
What is the output when the statement fun(9); is run?Có lời giảiCâu hỏiConsider the following function:
void fun(int n)
{int m = n/2;
int k = n%2;
if (m > 0)
{fun(m);
}
System.out.print(k + " ");
}
What is the output when the statement fun(11); is run?Có lời giảiCâu hỏiConsider the following function:
int fun(int n)
{if (n < 0)
return(fun(-n));
else if(n<5)
return(2);
else
return(n*fun(n/2));
}
What is the value of fun(-3)?Có lời giảiCâu hỏiCả 41 câu của chủ đề41 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây