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

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,....)
--要用到递归函数
function fb(i)
    if i<=2 and i>0 then
        return 1
    else
        local j = fb(i-1)+fb(i-2)
        return j
    end
end
i = 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 then
        j = 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 then
            n = i*j
            if n<=9 then
                n = "0"..n 
            end
            x = 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
--]]

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值