【Amazon.co.jp限定】 バッファロー WiFi ルーター 無線 LAN Wi-Fi 6 11ax AX3000 2,401+573Mbps 日本メーカー 【 iPhone 16e / 16 / 15 / 14 / Nintendo Switch / PS5 動作確認済み 】 スマート 引っ越し エコパッケージ ブラック WSR-3000AX4P/NBK
¥9,980 (2025年4月26日 13:07 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)iPadペンシル2018-2025対応, 13分急速充電アップルペンシル, 手のひら誤操作防止, 傾き感知, 磁気吸着, 5分自動スリープ 長時間使用, iPad タッチペン第11 (A16)/10/9/8/7/6世代、Air 11"/13" M2/M3 2025 /Pro 11"/13" M4 2024 、Mini 第7/6 Gen、Air 3/4/5 Gen に対応
¥1,599 (2025年4月26日 13:05 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)USB-C HDMI 変換ケーブル 1M|4K@30Hz 映像出力|Thunderbolt 3/4 完全対応|設定不要/在宅勤務|Type C HDMI 接続ケーブル MacBook Pro/Air(M1/M2/M3)、iPad Pro/Air(M1/M2)、iPhone 15/16 シリーズ、Galaxy S/Note シリーズ 多機種対応
¥849 (2025年4月26日 13:09 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)
(確認した Ruby バージョン: 3.2.2, 3.3.7)
節目の AtCoder Beginner Contest 400 に Ruby で参加したら、C問題で謎のWAになって苦しんだ。
解説のひとつにもある平方根で解く方法を選んだ。浮動小数点数による誤差が危険だが、 Ruby だと Integer.sqrt というメソッドで回避できる。
…のに正解にならない。さんざん悩んだ末に、自力で二分探索して平方根を計算するように変えたところ正解になった。
コンテスト後に解説を読んで、考え方は妥当だったとわかったため、何の平方根を求める際に間違えたのか調べた。その結果 Integer.sqrt(4503599761588224)
が正しい値を返していない(小数を切り上げている)ことがわかった。
この値を検索したところいくつかページがヒットした。浮動小数点数による計算でずれるのは仕方ないとして、 sympy の isqrt でも同じ問題があったことが目に留まった。
比較的小さい入力に対しては isqrt の内部で浮動小数点数の sqrt を利用して高速化しているため、結果的にずれる可能性があるらしい。(十分に小さい入力であれば大丈夫)
Ruby のソースコードは確認できていないが、実際に誤った値を返す場合があることはわかった。エッジケースとして狙い撃ちされたら死ぬので、当面は Integer.sqrt を過信しないように注意する必要がある。