(12/29, 8:25)こっちのが圧倒的に速いですね。手早いし。
1から100までをseedにして(a+b)(a-b)を展開したa^2-b^2を求めて、そこに対象の数値がgrepで引っかかるかを見ています。
*
(12/29, 6:54追記)当初公開のものにバグがありました。修正と差し替えを行いました。
*
新規感染者数pを(a+b)(a-b)に因数分解してくれるPythonです。これまでは勘と手計算で立式してブックマークコメントやツイートをしていたのですが、残念ながら新規感染者数がかなり増えてきたため計算機に頼ることにしました。
もちろんpの意味が新規感染者数である必要はありません。
$ nano ./tokyosqr.py
$ python3 ./tokyosqr.py
input number: 2021
45^2-2021=4=2^2
(45+2)(45-2)=2021input number: 889
Unfortunately not found in the specified range.
入力値pに対し向こう+100までのチェックを行います。
2021はうまく見つかった場合の出力です。最初に見つかったところで探索を打ち切ります。一方の889は889+100=999まで探索を行い、889は(a+b)(a-b)の形にはならなかったよという結果を表示しています――追記) バグです。正しくは(67+60)(67-60)が求められます。
ダサloopの典型ですが、さらさらっと書けてしまうのはPythonのよさかと思います。