【发布时间】:2013-04-18 20:40:57
【问题描述】:
DECLARE
p NUMBER := 0;
q NUMBER := 1;
r NUMBER;
BEGIN
DBMS_OUTPUT.PUT_LINE(LPAD('0: ', 4) || LPAD(p, 10));
DBMS_OUTPUT.PUT_LINE(LPAD('1: ', 4) || LPAD(q, 10));
FOR k IN 2..20 LOOP
r := p + q;
DBMS_OUTPUT.PUT_LINE(LPAD(k, 2) || ': ' || LPAD(r, 10));
p := q;
q := r;
END LOOP;
END;
我们在我的一堂课上讨论过这个问题,但我并没有真正理解这个 for 循环是如何工作的。我知道输出会在左侧打印数字 0-20,但我对右侧的数字如何增加感到困惑。
【问题讨论】:
-
哪一部分让你感到困惑伙计?还是整个代码都超出了头顶?具体在
SO。 -
好的,我现在知道斐波那契数是前两个数在下一个数之前的总和。有人怎么会显示 Fn-3、Fn 和 Fn+3 ?这是否意味着它每次增加 3?
标签: sql oracle plsql plsqldeveloper