Re: [问题] 1-9位数不重复印出来 (Lua)

楼主: Neisseria (Neisseria)   2017-03-04 15:03:01
※ 引述《mikemagic88 (Mikemagic88)》之铭言:
: 使用者输入1 印1-9
: 使用者输入2 印1-98 (11, 22, 33等重复的不印)
: 使用者输入3 印1-987 (121, 988, 667等有重复的不印)
最近刚好在用 Lua 做专案 顺手写了一下
写得不像 functional language 那么优雅 请多包涵
function check(n)
local t = {}
local num = n
while num > 0 do
table.insert(t, num % 10)
num = math.floor(num / 10)
end
local len = #t
local hash = {}
for i = len, 1, -1 do
if hash[t[i]] == nil then
hash[t[i]] = true
else
return false
end
end
return true
end
local n = 3
local count = 0
for i = 1, 10 ^ n do
if check(i) then
io.write(i .. " ")
count = count + 1
if count > 0 and count % 10 == 0 then
print("")
end
end
end
print("")

Links booklink

Contact Us: admin [ a t ] ucptt.com