結果
問題 |
No.1498 Factorization from -1 to 1
|
ユーザー |
![]() |
提出日時 | 2021-05-06 17:48:27 |
言語 | Crystal (1.14.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 608 bytes |
コンパイル時間 | 12,795 ms |
コンパイル使用メモリ | 296,076 KB |
実行使用メモリ | 18,432 KB |
最終ジャッジ日時 | 2024-09-14 08:56:47 |
合計ジャッジ時間 | 14,948 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 6 WA * 11 |
ソースコード
# require "template" lib C fun strtoll(s : UInt8*, p : UInt8**, b : Int32) : Int64 end class String def to_i64 C.strtoll(self, nil, 10) end end MAX_N = 100001i64 a = (0..MAX_N).map { |i| i.to_i64 * i + 1 } ans = (0..MAX_N).map { [] of Int64 } (1..MAX_N).each do |i| next if a[i] == 1 prime = a[i] 0i64.step(to: MAX_N + prime, by: prime) do |x| {x - i, x + i}.each do |y| next unless (1..MAX_N) === y while a[y] % prime == 0 ans[y] << prime a[y] //= prime end end end end read_line.to_i.times do n = read_line.to_i puts ans[n].join(' ') end