タクシー数の4乗数バージョン - りつ缶

まあこんな感じで。

gistbe48edab1b249f27a6d7

考え方

ぱっと思いついたのは、しらみつぶしにパターン列挙してx^4+y^4の結果が同じになるものを調べればいいなぁということで非常に安易な方法だったのだけど、

  1. (1,1)から(300,300)の組をはじめに列挙
  2. (1,2)と(2,1)は組としては同じものなのでペアをつくるときにソートしてuniq!
  3. group_byメソッドでx^4+y^4を計算して、同じ値になるものをグループ化
  4. 1組しかないものは捨てて、残ったものが求めるもの

とした。一応リンク先のコードの結果も同じものなので大丈夫なはず。

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

  • 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/08/10
  • メディア: 大型本
  • この商品を含むブログ (17件) を見る

初めはGoで書こうかとも思ったけど、範囲オブジェクト使えないのがめんどくさくなって逃げてしまったわ……