CodeIQの「5乗のダンジョン」を解いてみた

最短コードへの道のりは遠く・・・

問題

「1, 2, 3, 4, 5, 6, 7, 8, 9」の9つの数字から、被らないように3つずつ選んだ、2つの「3桁の数字」があります。これは、たとえば「123, 456」「951, 372」などです(「123, 345」のように、同じ数字が2回出てくることはありません)。
この2つの数字のうち、1つ目の数値を「a」、2つ目の数値を「b」とします。「c」の値が、「a」を5乗した値ならば「0」を、「b」を5乗した値ならば「1」を戻すプログラムを書いてください。

LV1

3回挑戦しました。

1回目:16文字

問題文そのままに、安直に5乗したコードがこちら。

(b*b*b*b*b==c)+0
2回目:12文字

規則性に気づいてまず書いたコードがこちら。

+!((c-b)%10)
3回目:11文字

最短コードになりました。

(c-a)%10&&1

LV2

30文字
-(c-a).toFixed().substr(-1)&&1

数値⇒文字列変換はtoFixed、末尾はsubstr(-1)を使いました、というかそれ以外わかりませんでした。
解説記事を見ると、escape(n)とか他にもいろいろあったんですね。

そして新たなダンジョンへ続く…。
挑戦者求む!【JavaScript】あべこべのダンジョン - LV1 by クロノス・クラウン合同会社 柳井 政和│CodeIQ