平方数かどうかをシェル芸で判定する方法
Sun May 4 15:27:21 JST 2014 (modified: Fri Sep 29 21:38:45 JST 2017)
views: 1449, keywords:コマンド,CLI,factor,平方数,シェル芸 この記事は最終更新日が7年以上前のものです。
http://d.hatena.ne.jp/hnw/20140503のエントリーに触発されました。
たぶん、ワンライナーで平方数を求めるのは、これでOKというか面白いかと。高速かどうかは分かりませんが・・・。素直にawkでsqrtするのは芸がなく(これはシェル芸とは考え方が相反するか)。単なる手遊びですね。
factor <調べたい数字> | sed 's/^.*://' | xargs -n 1 |
$ awk 'NF!=0' | uniq -c | awk '$1%2!=0'
因数分解して、各要素の数を数えて、全部偶数個だと平方数なので、awk '$1%2!=0'が終わって何か出力されたら、それは平方数でないと判断できます。
では、ロボカップに戻ります。