結果

問題 No.634 硬貨の枚数1
ユーザー d2verbd2verb
提出日時 2018-01-21 00:23:01
言語 Crystal
(1.11.2)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 297 bytes
コンパイル時間 1,040 ms
コンパイル使用メモリ 217,216 KB
最終ジャッジ日時 2024-04-27 02:31:06
合計ジャッジ時間 1,415 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
Showing last frame. Use --error-trace for full trace.

In Main.cr:5:23

 5 | tris << i * (i + 1) / 2
                         ^
Error: expected argument #1 to 'Array(Int32)#<<' to be Int32, not Float64

Overloads are:
 - Array(T)#<<(value : T)

ソースコード

diff #

n = gets.not_nil!.to_i
k = ((Math.sqrt(1 + 8 * n) - 1) / 2).to_i
tris = [] of Int32
1.upto(k) do |i|
  tris << i * (i + 1) / 2
end

if tris.includes? n
  p 1
else
  ok = false
  tris.each do |a|
    tris.each do |b|
      break if ok
      ok = ok || (a + b) == n
    end
  end
  p ok ? 2 : 3
end
0