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