commit b09c539b32af5f3199eb975ab6a010095961893b parent 0a89058f5b9dc715ed2a47c26b141dba451bb653 Author: Samir Parikh <noreply@samirparikh.com> Date: Tue, 5 Jul 2022 14:59:36 +0000 get all tests to pass Diffstat:
M | grains/Grains.pm | | | 11 | +++++++++-- |
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/grains/Grains.pm b/grains/Grains.pm @@ -3,17 +3,24 @@ package Grains; use strict; use warnings; use feature qw<say>; +use bignum; use Exporter qw<import>; our @EXPORT_OK = qw<grains_on_square total_grains>; sub grains_on_square { my ($square) = @_; - return undef; + die "square must be between 1 and 64" + if $square < 1 or $square > 64; + return 2 ** ( $square - 1 ); } sub total_grains { - return undef; + my $total; + foreach my $square ( 1 .. 64 ) { + $total += grains_on_square( $square ); + } + return $total; } 1;