結果

問題 No.3236 累乗数大好きbot
ユーザー tomerun
提出日時 2025-08-15 21:55:18
言語 Crystal
(1.14.0)
結果
AC  
実行時間 145 ms / 4,000 ms
コード長 388 bytes
コンパイル時間 14,406 ms
コンパイル使用メモリ 311,148 KB
実行使用メモリ 7,716 KB
最終ジャッジ日時 2025-08-15 21:57:42
合計ジャッジ時間 16,975 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

h = Hash(Int64, Int32).new
3.upto(40) do |p|
  b = 2i64
  while true
    u = b ** p
    break if u > 1_000_000_000_000i64
    h[u] = p
    b += 1
  end
end
read_line.to_i.times do
  n = read_line.to_i64
  if h.has_key?(n)
    puts h[n]
  else
    sq = (n ** 0.5).to_i64
    if (sq - 1) ** 2 == n || sq ** 2 == n || (sq + 1) ** 2 == n
      puts 2
    else
      puts 1
    end
  end
end

0