lua 函数练习
--逻辑表达式 --1+2+3+...+n
function fun1(n)
local sum =
for i=,n do
sum = sum + i
end
return sum
end -- 计算奇数和
function fun2(n)
local sum =
for i=,n, do
sum = sum + i
end
return sum
end -- 计算偶数和
function fun3(n)
local sum =
for i=,n, do
sum = sum + i
end
return sum
end -- 计算n!
function fun4(n)
local sum =
for i=,n do
sum = sum * i
end
return sum
end -- 计算1+2!+3!+...+n!
function fun5(n)
local sum,t=,
for i=,n do
t =
for j=,i do
t = t * j
end
sum = sum + t
end
return sum
end -- 计算 1+ 1/1! +1/2! +1/3! + ...+1/n!
function fun6(n)
local sum=
for i=,n do
sum = sum + /fun4(i)
end
return sum
end -- 判断n是否为素数(质数)
function fun7(n)
io.write(n)
local t = math.sqrt(n)
for i=,t do
if n%i== then
return false
end
end
return true
end -- 1000以内的水仙花数 如 153 = 1^3 + 5^3 + 3^3
function fun8()
local sum =
local i,j,k=
for num=, do
i = math.floor(num/)
j = math.floor(num%/)
k = num%
if num == i^ + j^ + k^ then
print(num)
end
end
end table_str = '0123456789abcdefghijklmnopqrstuvwxyz'
-- 将10进制数转换为二进制数
function fun9( n )
local ys = n %
n = math.floor(n/)
if n~= then
fun9(n)
end
io.write(string.sub(table_str,ys+,ys+))
end
-- 将10进制数转换为八进制数
function fun10( n )
local ys = n %
n = math.floor(n/)
if n~= then
fun10(n)
end
io.write(string.sub(table_str,ys+,ys+))
end -- 将10进制数转换为十六进制数
function fun11( n )
local ys = n %
n = math.floor(n/)
if n~= then
fun11(n)
end
io.write(string.sub(table_str,ys+,ys+))
end -- 将10进制数转换为N进制数
function fun12( n ,N)
local ys = n % N
n = math.floor(n/N)
if n~= then
fun12(n,N)
end
io.write(string.sub(table_str,ys+,ys+))
end function main( )
print(fun1())
print(fun2())
print(fun3())
print(fun4())
print(fun5())--1+2+6+24
print(fun6())
print(fun7() and '是素数!' or '不是素数')
print(fun7() and '是素数!' or '不是素数')
fun8() -- 水仙花
fun9();print('')--转换为二进制
fun10();print('')--转换为八进制
fun11();print('')--转换为十六进制
fun12(,);print('')--转换为36进制
end main()
lua 函数练习的更多相关文章
- C中调用Lua函数
我们先来看一个简单的例子: lua_State* L = NULL; // 内部调用lua函数 double f(double x, double y) { double z; lua_getglob ...
- Lua函数之二
Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...
- Lua函数之一
LUA函数之一 函数声明: function foo(arguments) statements end 1.函数调用 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用,例如: os.da ...
- 一些LUA函数(转载)
转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...
- C语言调用Lua函数
记得上学时,初中英文课本中,上网叫做surfing the internet,中文叫网上冲浪. 那个时期,人们常常称互联网为赛博空间.现在工作了,大量的零碎时间用于上微博,知乎,QQ.这些碎片化的阅读 ...
- C模块回调Lua函数的两种方法
作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...
- Lua函数以及闭合函数的理解
Lua函数以及闭合函数的理解 来源 http://blog.csdn.net/mydad353193052/article/details/48731467 词法域和第一类型 在C/C++,C#或者J ...
- lua函数随记
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...
- Lua 函数参数 & 默认实参
[1]Lua函数,默认实参 习惯了其他语言(如C++)的默认实参,利用Lua语言的过程中,发现没有默认实参这种机制. 所以,自己模拟了一个满足业务需求的带默认实参的函数. (1)示例如下: local ...
- Lua函数[转]
在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...
随机推荐
- JavaScript对象模型-执行模型
数据类型基本数据类型基本数据类型是JS语言最底层的实现.简单数值类型: 有Undefined, Null, Boolean, Number和String.注意,描述中的英文单词在这里仅指数据类型的名称 ...
- 学习笔记::AC自动机
最先开始以为和自动刷题机是一个东西... 其实就是kmp的一个拓展.学完kmp再学这个就会发现其实不难 1.kmp是一个串匹配一个串,但是当我们想用多个串匹配一个文本的时候,kmp就不行了,因此我们有 ...
- JS处理时间相关
<script>var d=new Date(); alert(d);alert(d.getMonth());alert(d.getHours());alert(d.getYear()); ...
- 5950 Recursive sequence (矩阵快速幂)
题意:递推公式 Fn = Fn-1 + 2 * Fn-2 + n*n,让求 Fn; 析:很明显的矩阵快速幂,因为这个很像Fibonacci数列,所以我们考虑是矩阵,然后我们进行推公式,因为这样我们是无 ...
- UVa 12716 && UVaLive 6657 GCD XOR (数论)
题意:给定一个 n ,让你求有多少对整数 (a, b) 1 <= b <= a 且 gcd(a, b) = a ^ b. 析:设 c = a ^ b 那么 c 就是 a 的约数,那么根据异 ...
- bzoj 4245: [ONTAK2015]OR-XOR【按位贪心】
知道按位贪心但是不知道怎么贪-- 求一个a的异或前缀和s,然后按位从大到小贪心,ans的当前位能为0的条件是s中有>=m个位置这一位为0且没有flag,并且s[n]的这一位为0 如果符合要求,那 ...
- 【TIDB】2、TIDB进阶
0.TIDB优势 1.和MySql相比,具备OLAP能力.省去了很多数据仓库搭建成本和学习成本.这在业务层是非常受欢迎的.可以在其他分库分表业务中,通过 syncer 同步,进行合并,然后进行统计分析 ...
- ACM_给你100块钱
给你100块钱 Time Limit: 2000/1000ms (Java/Others) Problem Description: 小光见到昨晚旭能神没拿到一血,又损失了一百块,很同情他.但是为了不 ...
- Atcoder B - Boxes 玄学 + 数学
http://agc010.contest.atcoder.jp/tasks/agc010_b 预处理出每两个相邻的数的差值,那么首先知道是一共取了sum / ((1 + n) * n / 2)次,因 ...
- jacaScript数组
1.var arr=['1','2','3'] typeof arr (判断数组类型) print(arr)打印数组内容 2.arr[100]='x', 数组中间自动添加,alert(arr. ...