読者です 読者をやめる 読者になる 読者になる

PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 22 / 名前のスコア

5000個以上の名前が書かれている46Kのテキストファイル filenames.txt を用いる。まずアルファベット順にソートせよ。

その後,各名前についてアルファベットに値を割り振り,リスト中の出現順の数と掛けあわせることで名前のスコアを計算する。

たとえば,ソート後のリストにおいてCOLINは938番目にある。COLINに対応する値は 3 + 15 + 12 + 9 + 14 = 53 であるから,COLINは 938 × 53 = 49714 というスコアをもつ。

ファイル中の全名前のスコアの合計を求めよ。

Problem 22 - Project Euler


Aに1,Bに2,……を割り振るのに文字コードを使います。ファイル中の名前はすべて大文字なので,ToCharacterCode で文字コードを取得し,64(=Aの文字コード65から1を引いた数)を引いたものの和をとります。


あとは普通にシグマ計算です。