无坑点,十分钟轻松愉快
--IO
local IORead = io.read('*a'):gmatch('%w+')
function readNumber()
return tonumber(IORead())
end
--logic
function generateNumber(number, base)
if number == 0 then
return {0}
end
local result_table = {}
while number > 0 do
table.insert(result_table, 1, number % base)
number = math.floor(number / base)
end
return result_table
end
function isPalindromic(t)
for i = 1, math.floor(#t/2) do
if t[i] ~= t[#t - i + 1] then
return false
end
end
return true
end
function tableToString(t)
local s = ""
for _, v in pairs(t) do
s = s .. tostring(v) .. " "
end
return string.sub(s, 1 ,#s - 1)
end
--main
local N = readNumber() b = readNumber()
local Gn = generateNumber(N, b)
print(isPalindromic(Gn) and "Yes" or "No")
print(tableToString(Gn))