平方数かどうかをシェル芸で判定する方法

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'が終わって何か出力されたら、それは平方数でないと判断できます。

では、ロボカップに戻ります。

ノート   このエントリーをはてなブックマークに追加 
 

prev:6月は大阪でシェル芸勉強会 next:イベント案内(過去・当日含む)

やり散らかし一覧

記事いろいろ