15問目。20*20の区画で最短距離の個数を求めろという問題。
公式に当てはめたら一瞬で解けた。こんなんでいいのかと逆に心配になった。
#!/usr/bin/perl use strict; use warnings; print "Answer is ", p15(20, 20), "\n"; sub p15 { my ($length, $width) = @_; return factorial($length + $width) / (factorial($length) * factorial($width)); } sub factorial { my ($num) = @_; my $sum = 1; map { $sum *= $_} (2..$num); return $sum; }