結果
問題 | No.8056 量子コンピュータで素因数分解 Easy |
ユーザー |
![]() |
提出日時 | 2020-02-05 03:49:42 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 213 ms / 2,000 ms |
コード長 | 354 bytes |
コンパイル時間 | 415 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 29,152 KB |
平均クエリ数 | 2.50 |
最終ジャッジ日時 | 2024-12-31 19:35:48 |
合計ジャッジ時間 | 6,556 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 26 |
コンパイルメッセージ
Syntax OK
ソースコード
# frozen_string_literal: truedef query(a)puts "? #{a}"STDOUT.flushgets.to_iendn = gets.to_ig = -1loop doa = rand(2...n)g = n.gcd(a)break if g != 1t = query(a)next if t.odd?b = a.pow(t / 2, n)g = n.gcd(b - 1)break if g != 1next if b == n - 1g = n.gcd(b + 1)break if g != 1endputs "! #{g} #{n / g}"