Forwarded from dnaugsuz
你可以使用参数默认值来解决
def fibonacci(n, a = 1, b = 2):
result = a + b
if n <= 0:
return result
else:
return fibonacci(n - 1, b, a + b)
print(fibonacci(0))
print(fibonacci(1))
print(fibonacci(5))
Forwarded from dnaugsuz
万恶的 Python 3 不支持尾递归优化... 😶
我刻意使用尾递归的版本
JavaScript ES6 就不会出这种问题...
我刻意使用尾递归的版本
JavaScript ES6 就不会出这种问题...
"use strict";
function fibonacci(n, a = 1, b = 2) {
let result = a + b;
if (n <= 0) return result;
else return fibonacci(n - 1, b, a + b);
}
dnaugsuz
万恶的 Python 3 不支持尾递归优化... 😶 我刻意使用尾递归的版本 JavaScript ES6 就不会出这种问题... "use strict"; function fibonacci(n, a = 1, b = 2) { let result = a + b; if (n <= 0) return result; else return fibonacci(n - 1, b, a + b); }
JavaScript Number 数值一大就要溢出(划掉)损失精度,气死
还有我的 NodeJS v8 上居然没有 Integer 类,这是为何,而且 "use strict" 了尾递归优化也不能生效...
还有我的 NodeJS v8 上居然没有 Integer 类,这是为何,而且 "use strict" 了尾递归优化也不能生效...
Forwarded from Oasis Feng
Android 会疯狂的频繁重写 /data/system/notification_policy.xml 这个文件,绝大部分时候根本就没有变化。而这个文件的体积很大程度上取决于 channel 的数量。
Forwarded from Oasis Feng
我写过一个测试程序监控过 Android 这个行为,我这没有使用 Telegram 的 Android 客户端,就已经是分钟级的频繁重写了。