⛳浮動小数点数オタクがAtCoder Beginner Contest 284のD問題をガチで解説してみる2023/01/08に公開2023/01/101件AtCodertechDiscussionMizar/みざー2023/01/11二分探索の他にも、整数上でニュートン・ラフソン法を使って平方根を計算する事もできます。 N\lt 2^{64}, 初期値s_0 が \lfloor\sqrt{N}\rfloor\le s_0\lt 2.9\sqrt{N} 程度の範囲であれば、 s_{n+1}=\lfloor(s_n+\lfloor a/s_n\rfloor)/2\rfloor の操作 7回目までに s_i=\lfloor\sqrt{N}\rfloor となる 0\le i \lt 7 を見つける事ができるかと思います。 https://zenn.dev/mizar/articles/791698ea860581#(参考)-整数上でのニュートン法にて平方根が計算できる理由 返信を追加
Mizar/みざー2023/01/11二分探索の他にも、整数上でニュートン・ラフソン法を使って平方根を計算する事もできます。 N\lt 2^{64}, 初期値s_0 が \lfloor\sqrt{N}\rfloor\le s_0\lt 2.9\sqrt{N} 程度の範囲であれば、 s_{n+1}=\lfloor(s_n+\lfloor a/s_n\rfloor)/2\rfloor の操作 7回目までに s_i=\lfloor\sqrt{N}\rfloor となる 0\le i \lt 7 を見つける事ができるかと思います。 https://zenn.dev/mizar/articles/791698ea860581#(参考)-整数上でのニュートン法にて平方根が計算できる理由 返信を追加
Discussion
二分探索の他にも、整数上でニュートン・ラフソン法を使って平方根を計算する事もできます。