スキップしてメイン コンテンツに移動

Project Euler - Problem 28

問題

再開言っておきながら10日も開いてしまいました。今度こそ再開します。きっと。

  • 原文

    What is the sum of both diagonals in a 1001 by 1001 spiral formed in the same way?

  • 日本語訳

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

解答

1周する毎に数字の間隔が2広がるわけですから、単純に書いて十分早く答えが出ます。

#!/usr/bin/perl

use strict;
use warnings;
use feature qw/say/;

my $sum = 1;
for (my ($i, $step) = (1, 2); $i < 1001 * 1001; $step += 2) {
  $sum += $i += $step for 1 .. 4;
}

say $sum;

コメント