Lua习题练习(9*9乘法表,输出所指定的图像,斐波那契数列)

摘要:
指的是这样一个数列要用到递归函数3.输出一个*的三角形4.9*9乘法表--有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数,并输出在屏幕上面fori=1,4,1doforj=1,4,1doforp=1,4,1doifi~=jandi~=pandj~=pthenprintendendendend--计算斐波那携数列的前20个数字,并输出在屏幕上面。

1. (循环语句的嵌套使用)有 1,2,3,4四个数字,能组成多少个互不相同且无重复数字的 三位数,并输出在屏幕上面
2. 计算斐波那携数列的前20个数字,并输出在屏幕上面 。指的是这样一个数列(1,1,2,3,5,8,13...21,....)要用到递归函数
3. 输出一个* 的三角形
4. 9*9乘法表(不同结构的输出)

--有 1,2,3,4四个数字,能组成多少个互不相同且无重复数字的 三位数,并输出在屏幕上面
for i = 1,4 ,1 do
    for j = 1,4,1 do
        for p = 1, 4,1 do
            if  i ~= j and i ~= p and j ~= p then
                print(i..j..p)
            end
        end
    end
end
--计算斐波那携数列的前20个数字,并输出在屏幕上面 。指的是这样一个数列(1,1,2,3,5,8,13...21,....)--要用到递归函数
functionfb(i)
    if i<=2 and i>0 then
        return 1
    else
        local j = fb(i-1)+fb(i-2)
        returnj
    end
endi = 1
while i<=20 do
    print(""..i.."个数是"..fb(i))
    i = i+1
end

--输出一个* 的三角形
for x = 1,7,1 do
    local j = ""
    for y = 1,7,1 do
        if y <= x thenj = j.."*"
        end
    end
    print(j)
end
--[[x=1,y=1时输出*    y=2,34567 都不输出东西        *
x=2 y=1,2 时输出, y=34567不输出                **
x=3 y=123输出 ,y=4567不输出                    ***
.......以此类推--]]
--[[*
**
***
****
*****
******
*******
--]]
--9*9乘法表  结果在个位数补领0。为了格式的好看
for i = 1,9,1 do 
    local x = ""
    for  j = 1,9,1 do 
        if j>=i thenn = i*j
            if n<=9 thenn = "0"..n 
            endx = x..i.."*"..j.."="..n.." "
            end
        end
print(x)
end

--[[1*1=01 1*2=02 1*3=03 1*4=04 1*5=05 1*6=06 1*7=07 1*8=08 1*9=09 
2*2=04 2*3=06 2*4=08 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 
3*3=09 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 
4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 
5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 
6*6=36 6*7=42 6*8=48 6*9=54 
7*7=49 7*8=56 7*9=63 
8*8=64 8*9=72 
9*9=81 
--]]
for m=1,9 do                           --for循环1到9  
    local s = ""                       --定义一个用来输出的字符串S  
    for n=1,9 do                       --内层循环1到9  
        if n <= m then                 --注意if后面要加then  
            s = s..m.."x"..n.."="..m*n --..表示字符串拼接  
            if n ~= m then             --如果n不等于m 就怎样怎样  
                s = s..", "            --就在这句话的后面加上逗号","  
            end  
        end          
    end  
    print(s)  
end  
--[[1x1=1
2x1=2, 2x2=4
3x1=3, 3x2=6, 3x3=9
4x1=4, 4x2=8, 4x3=12, 4x4=16
5x1=5, 5x2=10, 5x3=15, 5x4=20, 5x5=25
6x1=6, 6x2=12, 6x3=18, 6x4=24, 6x5=30, 6x6=36
7x1=7, 7x2=14, 7x3=21, 7x4=28, 7x5=35, 7x6=42, 7x7=49
8x1=8, 8x2=16, 8x3=24, 8x4=32, 8x5=40, 8x6=48, 8x7=56, 8x8=64
9x1=9, 9x2=18, 9x3=27, 9x4=36, 9x5=45, 9x6=54, 9x7=63, 9x8=72, 9x9=81
--]]
for   a = 1,9 do
    local s = ""
    for b=a,9 dos = s..string.format( "%dX%d=%d	",10-a,b,(10-a)*b ) --实现乘法表从9-1递减打印效果
    end                                                              --%d - 接受一个数字并将其转化为有符号的整数格式
    print(s)
end
--[[9X1=9    9X2=18    9X3=27    9X4=36    9X5=45    9X6=54    9X7=63    9X8=72    9X9=81    
8X2=16    8X3=24    8X4=32    8X5=40    8X6=48    8X7=56    8X8=64    8X9=72    
7X3=21    7X4=28    7X5=35    7X6=42    7X7=49    7X8=56    7X9=63    
6X4=24    6X5=30    6X6=36    6X7=42    6X8=48    6X9=54    
5X5=25    5X6=30    5X7=35    5X8=40    5X9=45    
4X6=24    4X7=28    4X8=32    4X9=36    
3X7=21    3X8=24    3X9=27    
2X8=16    2X9=18    
1X9=9
--]]

免责声明:文章转载自《Lua习题练习(9*9乘法表,输出所指定的图像,斐波那契数列)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇TCP 的那些事儿(下)线程池:Execution框架下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

从C#中传递object到lua的一个问题

本来我是想从C#中把form对象传递到Lua里面去,然后在Lua中调用form下面的各个组件,比如textbox、button等,从而实现在Lua中控制C#中form界面的布局。 但是发现如下问题: 1 //Form1.cs 2 3 class Form1 4 { 5 private System.Windows.Forms.TextBox tex...

openresty性能优化 -- table相关优化

最近一直在做openresty相关开发,使用lua优化,优化了几次,发现最大的优化是table的优化。table优化的大原则是尽量少创建表,表创建多了毕竟耗性能。这里的创建,指新创建和扩表引起的创建。在往table插入数据的过程中,如果table不够用,会扩大两倍,所以,一个1030项数据,会经过十次扩表,非常消耗性能。 方法一,代码层面重用表 原始代码:...

miaosha

1:跨域请求配置 后端Controller 添加注解 @CrossOrigin(origins = {"*"},allowCredentials = "true")前端ajax 请求添加xhrFields: { withCredentials: true } 2:跨域解决方案 1:jsonp2:cors3:node 转发4:nginx 反向代理  3:命...

【Lua】Lua中ipair和pair的区别

pairs会遍历table的所有键值对。 而ipairs就是固定地从key值1开始,下次key累加1进行遍历,如果key对应的value不存在,就停止遍历。顺便说下,记忆也很简单,带i的就是根据integer key值从1开始遍历的。 请看个例子。 tb = {"oh", [3] = "god", "my", [5] = "hello", [6] = "w...

lua table remove元素的问题

当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtest) do   XXX   end    for key, value in ipairs(tbtest) do   XXX   end    for i...

DevOps专题|Lua引擎打造超轻量级客户端

Lua 作为一门轻量级脚本语言,源码使用标准C语言发布,语法简洁,非常适合嵌入式、客户端、游戏等场景。 Lua引擎语言特点 轻量级 源码简单,以lua最新版5.3.5为例,加上lua自身提供的lib库,仅30多个.c文件,编译后仅200多k,strip后经upx压缩,可控制在100k以下。 语法简洁 小巧灵活,支持闭包,有GC机制,通过语法糖可实现面向对...