質問内容
正の整数nが平方数かどうか調べたい時
range()を使って調べる範囲を今は(1)のようにnの半分くらいまでに
しているのですが、
調べる範囲は当然nの平方根+1くらいまでで良い筈です。
でもそうすると記述が複雑になると考えて、結局nの半分くらいまでにしているのですが、
皆さんはどの範囲までにしていますか?
その理由を(良ければ記述法も)教えて下さい。
参考になるサイトがある場合はそれを教えて下さればそれを読んで学習します。
初めての質問なので、記述に不明点があればご指摘ください。
(1)今の書き方
Python
if any(i**2 == n for i in range(n//2)):
(2)補足
個人的には調べる範囲が
- nのサイズによる
- nがどの数字であっても一つに収まる
で、2.であるならばその範囲を採択したいなと考えています。
まだ回答がついていません
会員登録して回答してみよう