Consider the following function:
4 phương ánCó giải thích
void printOut(int count)
{if((count % 2) == 0)
System.err.println("StdErr: Line " + count + "\n");
else
System.out.println("StdOut: Line " + count + "\n");
if(count == 0) return;
else
printOut(count-1);
}What value for X the statement printOut(X); will print EXACTLY 5 lines to standard output (Lines start with "StdOut:"), in the fewest number of recursive calls?
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: "9". Hàm in sang luồng chuẩn khi count lẻ và sang luồng lỗi khi count chẵn, rồi gọi tiếp với count-1 cho tới khi count bằng 0, nên một lời gọi printOut(X) chạy qua đủ các giá trị X, X-1, cho tới 0. Số dòng mang nhãn StdOut chính là số giá trị lẻ trong đoạn đó: với X bằng 9 các giá trị lẻ là 9, 7, 5, 3, 1, đúng 5 dòng, và chuỗi chỉ tốn 9 lời gọi đệ quy. Con số "10" cũng cho 5 dòng vì 10 chẵn nên in sang luồng lỗi, nhưng nó tốn thêm một lời gọi nên không phải lựa chọn ít bước nhất như câu hỏi đòi. Con số "8" chỉ có các giá trị lẻ 7, 5, 3, 1, tức 4 dòng, thiếu một dòng. Con số "11" cho các giá trị lẻ 11, 9, 7, 5, 3, 1, tức 6 dòng, nhiều hơn yêu cầu.
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