Lua:修订间差异
跳到导航
跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
(创建页面,内容为“{{Lowercast}} <pre>#!/usr/local/bin/lua-5.1 -- A simple lua program function fib1(n) -- Recursive algorithm if n < 2 then return 1 end re…”) |
(→範例) |
||
(未显示同一用户的2个中间版本) | |||
第1行: | 第1行: | ||
{{ | {{Lowercase}} | ||
== 範例 == | |||
< | <syntaxhighlight lang="lua">#!/usr/local/bin/lua-5.1 | ||
-- A simple lua program | -- A simple lua program | ||
第44行: | 第44行: | ||
f3 = fib3(10) | f3 = fib3(10) | ||
print(type(f3), f3) | print(type(f3), f3) | ||
print()</ | print()</syntaxhighlight> | ||
== 官方網站 == | == 官方網站 == |
2018年2月28日 (三) 02:16的最新版本
范例
#!/usr/local/bin/lua-5.1
-- A simple lua program
function fib1(n)
-- Recursive algorithm
if n < 2 then
return 1
end
return fib1(n - 1) + fib1(n - 2)
end
function fib2(n)
-- Linear algorithm
a = {1, 1}
for c = 3, n do
a[c] = a[c - 1] + a[c - 2]
end
return a[n]
end
function fib3(n)
-- Direct calculate
-- Ref: http://en.wikipedia.org/wiki/Fibonacci_number
return math.floor(math.pow(((1 + math.sqrt(5)) / 2), n) / math.sqrt(5))
end
print(string.format("%s %s:", "It's", "recursive version"))
f1 = fib1(10)
print(type(f1), f1)
print()
print([[It's linear algorithm version:]])
f2 = fib2(10)
print(type(f2), f2)
print()
print([=[It's math]=] .. [==[ algorithm version:]==])
f3 = fib3(10)
print(type(f3), f3)
print()