1--邏輯表示式23
--1+2+3+...+n
4function
fun1(n)
5local sum = 0
6for i=1,n do
7 sum = sum +i
8end
9return
sum10
end11
12--
計算奇數和
13function
fun2(n)
14local sum = 0
15for i=1,n,2
do16 sum = sum +i
17end
18return
sum19
end20
21--
計算偶數和
22function
fun3(n)
23local sum = 0
24for i=2,n,2
do25 sum = sum +i
26end
27return
sum28
end29
30--
計算n!
31function
fun4(n)
32local sum = 1
33for i=1,n do
34 sum = sum *i
35end
36return
sum37
end38
39--
計算1+2!+3!+...+n!
40function
fun5(n)
41local sum,t=0,1
42for i=1,n do
43 t = 1
44for j=1,i do
45 t = t *j
46end
47 sum = sum +t
48end
49return
sum50
end51
52--
計算 1+ 1/1! +1/2! +1/3! + ...+1/n!
53function
fun6(n)
54local sum=1
55for i=1,n do
56 sum = sum + 1/fun4(i)
57end
58return
sum59
end60
61--
判斷n是否為素數(質數)
62function
fun7(n)
63io.write
(n)64
local t = math.sqrt
(n)65
for i=2,t do
66if n%i==0
then
67return
false
68end
69end
70return
true
71end
7273
--1000以內的水仙花數 如 153 = 1^3 + 5^3 + 3^3
74function
fun8()
75local sum = 0
76local i,j,k=0
77for num=101,999
do78 i = math.floor(num/100
)79 j = math.floor(num%100/10
)80 k = num%10
81if num == i^3 + j^3 + k^3
then
82print
(num)
83end
84end
85end
8687 table_str = '
0123456789abcdefghijklmnopqrstuvwxyz'88
--將10進製數轉換為二進位制數
89function
fun9( n )
90local ys = n % 2
91 n = math.floor(n/2)92
if n~=0
then
93fun9(n)
94end
95io.write(string.sub(table_str,ys+1,ys+1
))96
end97
--將10進製數轉換為八進位制數
98function
fun10( n )
99local ys = n % 8
100 n = math.floor(n/8
)101
if n~=0
then
102fun10(n)
103end
104io.write(string.sub(table_str,ys+1,ys+1
))105
end106
107--
將10進製數轉換為十六進製制數
108function
fun11( n )
109local ys = n % 16
110 n = math.floor(n/16
)111
if n~=0
then
112fun11(n)
113end
114io.write(string.sub(table_str,ys+1,ys+1
))115
end116
117--
將10進製數轉換為n進製數
118function
fun12( n ,n)
119local ys = n %n
120 n = math.floor(n/n)
121if n~=0
then
122fun12(n,n)
123end
124io.write(string.sub(table_str,ys+1,ys+1
))125
end126
127128
function
main( )
129print(fun1(100
))130
print(fun2(10
))131
print(fun3(10
))132
print(fun4(10
))133
print(fun5(4))--
1+2+6+24
134print(fun6(20
))135
print(fun7(20) and
'是素數!'or
'不是素數')
136print(fun7(13) and
'是素數!'or
'不是素數')
137 fun8() --
水仙花138 fun9(100);print('')--
轉換為二進位制
139 fun10(100);print('')--
轉換為八進位制
140 fun11(100);print('')--
轉換為十六進製制
141 fun12(100,36);print('')--
轉換為36進製
142end
143144 main()
Lua 函式 函式
在lua中,函式是一種對語句和表示式進行抽象的主要機制。函式既可以完成某項特定的任務,也可以只做一些計算並返回結果。lua具有一項非常於總不同的特徵,允許函式返回多個結果 s,e string.find hello lua users lua print s,e 7 9 以lua編寫的函式同樣可以返...
Lua基礎學習 Lua函式
函式主要用途 1 是作為呼叫語句使用。2 作為賦值語句的表示式使用。語法 區域性 全域性 function fun name 引數列表 函式體endfunction 定義函式關鍵字注意 1 在使用 lua 函式 變數時一定要先定義函式 變數 2 lua 函式不支援引數預設值,可以使用 or 解決。如...
lua學習 lua函式理解
詞法定界指 巢狀的函式可以訪問他外部函式中的變數。第一類值指 可以被存放在變數中,也可以存放在表中,可以作為函式的引數,還可以作為函式的返回值。的值function foo x return 2 x end這段 實際上就等效於 foo function x return 2 x end所以實際上lu...