結果
問題 | No.1243 約数加算 |
ユーザー |
|
提出日時 | 2020-10-02 21:45:35 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 668 bytes |
コンパイル時間 | 56 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-07-16 04:38:03 |
合計ジャッジ時間 | 1,552 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
コンパイルメッセージ
Syntax OK
ソースコード
def lscan; gets.split.map(&:to_i); end def solve(a, b) answer = [] step = 1 while a < b if b - a == step answer << step a += step elsif b - a < step step /= 2 elsif b - a > step*2 if a%(step*2) == 0 step *= 2 else answer << step a += step end else answer << step a += step end end answer end # def check(a, b, ans) # p a # ans.each do |x| # abort "#{x}" unless a%x == 0 # p a += x # end # abort `#{a} != #{b}` unless a == b # true # end gets.to_i.times do a,b = lscan ans = solve(a, b) p ans.size puts ans*' ' # p check(a, b, ans) end