- 主题:看不懂递归咋办?
自己写递归程序很容易,但是别人写得就看不大懂。
public static int f(int x, int y) {
if (y == 0) return 0;
if (y % 2 == 0) return f(x + x, y / 2);
return f(x + x, y / 2) + x;
}
怎么也想不明白为啥return的是 x*y的积。
--
FROM 36.22.58.*
y = 2*y' or 2*y'+1
--
FROM 113.66.1.*
你需要先理解递归,然后才能理解递归。
【 在 PhevosCao 的大作中提到: 】
: 自己写递归程序很容易,但是别人写得就看不大懂。
:
: public static int f(int x, int y) {
: if (y == 0) return 0;
: if (y % 2 == 0) return f(x + x, y / 2);
: return f
: ..................
发自「今日水木 on iPhone 20 plusplus」
--
FROM 120.245.130.*
这是面试题? 为啥要这么写?
要理解这段,不光是递归,还有java的整形数的运算要了解。 比如 1/2 = 0。
【 在 PhevosCao 的大作中提到: 】
: 自己写递归程序很容易,但是别人写得就看不大懂。
: public static int f(int x, int y) {
: if (y == 0) return 0;
: ...................
--
修改:SHENOK FROM 81.104.208.*
FROM 81.104.208.*
【 在 PhevosCao 的大作中提到: 】
: 自己写递归程序很容易,但是别人写得就看不大懂。
: public static int f(int x, int y) {
: if (y == 0) return 0;
: ...................
你需要先理解递归,然后才能理解递归。
--
FROM 123.120.212.*
你这个递归用的不错,哈哈
【 在 Shuimu2066 的大作中提到: 】
: 你需要先理解递归,然后才能理解递归。
--
FROM 122.97.179.*