PamGau
Web周り、サッカーの話、ときどきヌコ

RubyでProject Euler - Problem 28

Problem 28 (Project Euler) [原文]

1から初めて右方向に進み時計回りに数字を増やしていき, 5×5の螺旋が以下のように生成される:

(表略)

両対角線上の数字の合計は101であることが確かめられる.

1001×1001の螺旋を同じ方法で生成したとき, 対角線上の数字の合計はいくつだろうか?

とりあえず、対角線上に位置する数字を下記のような配列で表記してみました。

[[1], [3, 5, 7, 9], [13, 17, 21, 25], …]

これより、i番目の部分数列は、末項:(2 * i + 1)2、公差:2 * iの等差数列であることがわかります。ただし、i > 0

全体の矩形が1001×1001としたときの最後尾の部分数列の末項は10012なので、先頭を除く部分数列の個数は500個であることがわかります。

ここまでわかれば、メソッド"Array#flatten" でつぶして総計を求めるもよし、逐次加算で求めるもよし…でしょう。


"W杯アジア地区最終予選 対カタール戦" « Home » "RubyでProject Euler - Problem 29"

TrackBack

ご注意
当分の間、トラックバックの受信を行わないことといたしました。過去に戴いたトラックバックのリストについてはそのまま保持いたします。
トラックバックはありません

Comments

コメントはありません。
ご注意
当分の間、JavaScript が有効でないとコメント投稿できないようにします。スパム対策であって、投稿される方の個人情報を取得する目的ではありません。悪しからずご了承ください。
Recent Entries
裸の英会話
RubyでProject Euler - Problem 59
RubyでProject Euler - Problem 58
RubyでProject Euler - Problem 57
RubyでProject Euler - Problem 55, 56
RubyでProject Euler - Problem 54
RubyでProject Euler - Problem 53
RubyでProject Euler - Problem 52
RubyでProject Euler - Problem 51
RubyでProject Euler - Problem 50
Links
PamGau 系
PamGau::Memo
PamGau::Dust
PamgauSigh Wiki
はてなブックマーク
パンパでガウチョ
kyorecobaのdel.icio.us
BLOGNAVI
XREA.COM
VALUE-DOMAIN
PHP ver 4.4.2
Powered by Nucleus CMS Creative Commons
feedberner banner この日記のはてなブックマーク数
BlogPeople
あわせて読みたい