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
--]]
for   a = 1,9 do
    local s = ""
    for b=a,9 do
        s = 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
--]] 
我们什么都没有,唯一的本钱就是青春。梦想让我与众不同,奋斗让我改变命运!
原文地址:https://www.cnblogs.com/mengmengxia/p/9229455.html