結果
| 問題 | 
                            No.634 硬貨の枚数1
                             | 
                    
| コンテスト | |
| ユーザー | 
                             d2verb
                         | 
                    
| 提出日時 | 2018-01-21 00:29:32 | 
| 言語 | Crystal  (1.14.0)  | 
                    
| 結果 | 
                             
                                CE
                                 
                             
                            
                            (最新)
                                AC
                                 
                             
                            (最初)
                            
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 332 bytes | 
| コンパイル時間 | 2,409 ms | 
| コンパイル使用メモリ | 216,444 KB | 
| 最終ジャッジ日時 | 2024-11-14 20:19:19 | 
| 合計ジャッジ時間 | 2,739 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge1 | 
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
            
            
            
            
            ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
[2mShowing last frame. Use --error-trace for full trace.[0m
In [4mMain.cr:8:11[0m
[2m 8 | [0m[1mtris << tri[0m
             [32;1m^--[0m
[33;1mError: expected argument #1 to 'Array(Int32)#<<' to be Int32, not Float64[0m
Overloads are:
 - Array(T)#<<(value : T)
            
            ソースコード
n = gets.not_nil!.to_i
k = ((Math.sqrt(1 + 8 * n) - 1) / 2).to_i
tris = [] of Int32
istri = {0 => false}
1.upto(k) do |i|
  tri = i * (i + 1) / 2
  tris << tri
  istri[tri] = true
end
if tris.includes? n
  p 1
else
  ok = false
  tris.each do |a|
    break if ok
    ok = ok || (istri[n-a]? && istri[a]?)
  end
  p ok ? 2 : 3
end
            
            
            
        
            
d2verb