--逻辑表达式

 --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 函数练习的更多相关文章

  1. C中调用Lua函数

    我们先来看一个简单的例子: lua_State* L = NULL; // 内部调用lua函数 double f(double x, double y) { double z; lua_getglob ...

  2. Lua函数之二

    Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...

  3. Lua函数之一

    LUA函数之一 函数声明: function foo(arguments) statements end 1.函数调用 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用,例如: os.da ...

  4. 一些LUA函数(转载)

    转自http://hi.baidu.com/chevallet/item/9a3a6410c20d929198ce3363 一些LUA函数 1.assert (v [, message]) 功能:相当 ...

  5. C语言调用Lua函数

    记得上学时,初中英文课本中,上网叫做surfing the internet,中文叫网上冲浪. 那个时期,人们常常称互联网为赛博空间.现在工作了,大量的零碎时间用于上微博,知乎,QQ.这些碎片化的阅读 ...

  6. C模块回调Lua函数的两种方法

    作者:ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di C模块回调Lua函数的两种方法 lua和C通过虚拟栈这种交互方式简单而又可靠,缺点就是C做栈平 ...

  7. Lua函数以及闭合函数的理解

    Lua函数以及闭合函数的理解 来源 http://blog.csdn.net/mydad353193052/article/details/48731467 词法域和第一类型 在C/C++,C#或者J ...

  8. lua函数随记

    在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...

  9. Lua 函数参数 & 默认实参

    [1]Lua函数,默认实参 习惯了其他语言(如C++)的默认实参,利用Lua语言的过程中,发现没有默认实参这种机制. 所以,自己模拟了一个满足业务需求的带默认实参的函数. (1)示例如下: local ...

  10. Lua函数[转]

    在大多数Lua语法分析中可以获得这些标准Lua函数. 无可争辩, 我们可以查阅Lua网站, 但是一些少了的函数被Blizzard进行了调整. 下面列出了所有Lua函数. WoW API中的Lua注意在 ...

随机推荐

  1. I.MX6 Battery issues

    /******************************************************************** * I.MX6 Battery issues * 说明: * ...

  2. 分布式缓存一致性hash算法

    当服务器不多,并且不考虑扩容的时候,可直接使用简单的路由算法,用服务器数除缓存数据KEY的hash值,余数作为服务器下标即可. 但是当业务发展,网站缓存服务需要扩容时就会出现问题,比如3台缓存服务器要 ...

  3. 开源可扩展的Web视频播放器:Clappr Player

    http://www.open-open.com/lib/view/open1417057033846.html http://www.csdn.net/article/2014-11-27/2822 ...

  4. JNI编程(一) —— 编写一个最简单的JNI程序(转载)

    转自:http://chnic.iteye.com/blog/198745 忙了好一段时间,总算得了几天的空闲.貌似很久没更新blog了,实在罪过.其实之前一直想把JNI的相关东西整理一下的,就从今天 ...

  5. JAVA数据类型提升

    在java中数值进行计算事会自动进行数据类型提升,例如:计算时byte,short,char类型会提升为int数据类型. 例1: class dataType { public static void ...

  6. bzoj 2326: [HNOI2011]数学作业【dp+矩阵快速幂】

    矩阵乘法一般不满足交换律!!所以快速幂里需要注意乘的顺序!! 其实不难,设f[i]为i的答案,那么f[i]=(f[i-1]w[i]+i)%mod,w[i]是1e(i的位数),这个很容易写成矩阵的形式, ...

  7. bzoj 4184: shallot【线性基+时间线段树】

    学到了线段树新姿势! 先离线读入,根据时间建一棵线段树,每个节点上开一个vector存这个区间内存在的数(使用map来记录每个数出现的一段时间),然后在线段树上dfs,到叶子节点就计算答案. 注意!! ...

  8. vs2013 安装 mvc5 的方法

    工具-->NuGet程序包管理器-->程序包管理器控制台 然后 PM>Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

  9. javascript 冒泡与捕获的原理及操作实例

    所谓的javascript冒泡与捕获不是数据结构中的冒泡算法,而是javascript针对dom事件处理的先后顺序,所谓的先后顺序是指针对父标签与其嵌套子标签,如果父标签与嵌套子标签均有相同的事件时, ...

  10. 在Linux下使用linuxdeployqt发布Qt程序

    一.简介 linuxdeployqt 是Linux下的qt打包工具,可以将应用程序使用的资源(如库,图形和插件)复制到二进制运行文件所在的文件夹中. 二.安装linuxdeployqt 去github ...