题目在文件里面,注意对表中元素操作时,不要改变原表元素。
若对t表元素操作
另取表t2=t,对t2中元素赋值,print(t)时 t中相应位置的值也改变了。
local x=0
local g = {}
for i,v in ipairs(t) do
table.insert(g,v);
end
采用此方法对t2表定义。
--直接用t2=t1,对t2做改变时t1中元素也会改变。
--一个不确定数据数目的表,0可以代表一个范围内的任意数,求输出的是不是等差数列
function istableorder(t,a,b)
local x=0
local g = {}
for i,v in ipairs(t) do
table.insert(g,v);
end
c={}
d={}
for i,v in pairs(t) do
if v~=0 then
x=x+1
table.insert(c,#c+1,i) --记录不是零的数的位置
table.insert(d,#d+1,v) --记录不是零的数的值
end
end
-- print(unpack(d))
-- print(unpack(c))
if x==0 then --全都为零
if(#t<=(b-a+1)) then
return true
else return false
end
elseif x==1 then --有一个不是零
if c[1]==1 or c[1]==#t then
if ((d[1]+#t-1)>(b)) then