結果
問題 | No.1243 約数加算 |
ユーザー |
👑 |
提出日時 | 2021-06-13 17:07:55 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 32 ms / 2,000 ms |
コード長 | 881 bytes |
コンパイル時間 | 277 ms |
コンパイル使用メモリ | 5,504 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-23 05:42:25 |
合計ジャッジ時間 | 1,266 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
local ffi = require("ffi")local C = ffi.Cffi.cdef[[long long atoll(const char*);]]local function lltonumber(str)return C.atoll(str)endlocal function solve()local a, b = io.read():match("(%d+) (%d+)")a = lltonumber(a)b = lltonumber(b)local t = {}while a < b dolocal diff = b - alocal mul = 1LLlocal tgt = 1LLwhile true dolocal v = mul + b % mulif diff < v then break endtgt = mulmul = mul + mulendmul = 1LLlocal v = tgt + b % tgtb = b - vwhile 0LL < v doif v % 2LL == 1LL thentable.insert(t, mul)endv = v / 2LLmul = mul + mulendendprint(#t)for i = #t, 1, -1 dolocal str = tostring(t[i]):gsub("LL", "")io.write(str)io.write(i == 1 and "\n" or " ")endendlocal q = io.read("*n", "*l")for iq = 1, q do solve() end