結果

問題 No.648  お や す み 
コンテスト
ユーザー neko_the_shadow
提出日時 2018-06-09 01:15:38
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 77 ms / 2,000 ms
コード長 323 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,170 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 14,848 KB
最終ジャッジ日時 2026-04-04 08:15:12
合計ジャッジ時間 7,466 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 84
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

def solve(n)
  # 与えられた自然数nが三角数である必要条件はt=(sqrt(8*n+1)-1)/2が整数であること。
  x = 8 * n + 1
  root = Math.sqrt(x).to_i
  return nil if root ** 2 != x

  y = root - 1
  y % 2 == 0 ? y / 2 : nil
end

n = gets.to_i
if answer = solve(n)
  puts "YES", answer
else
  puts "NO"
end
0