結果
問題 |
No.1593 Perfect Distance
|
ユーザー |
![]() |
提出日時 | 2023-01-19 01:41:15 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 142 ms / 2,000 ms |
コード長 | 271 bytes |
コンパイル時間 | 328 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 18,432 KB |
最終ジャッジ日時 | 2024-06-12 01:02:14 |
合計ジャッジ時間 | 3,988 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
コンパイルメッセージ
Syntax OK
ソースコード
def f(m,n) return m**4+n**4+2*n*n*m*m end hs={} 100000.times{|i| hs[i*i]=0 } n0=gets.to_i n0=n0*n0 m=2 ans=0 while m**4<=n0 do 1.upto(m-1){|n| c=f(m,n) break if c>n0 next if m.gcd(n)!=1 || (m-n)%2==0 ans+=2 if n0%c==0 && hs.member?(n0/c) } m+=1 end puts ans