diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-10-24 23:58:25 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-10-24 23:58:25 -0500 |
commit | a529ce696348a36e2251fdf4e040a7562c483154 (patch) | |
tree | a67f40cca0bbc01d3e8893d1244508bf5839fd01 | |
parent | d6966208224bb37ca532519a50849c686808582b (diff) | |
download | rosalind-a529ce696348a36e2251fdf4e040a7562c483154.tar.gz rosalind-a529ce696348a36e2251fdf4e040a7562c483154.zip |
another solution
-rw-r--r-- | LEXF.pl | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -0,0 +1,20 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.016; + +my @string = split ' ', scalar(<>); +chomp(my $length = <>); + +my $base = @string; + +for my $num (0..$base ** $length - 1) { + my @digits; + my $remainder = $num; + for my $digit (1..$length) { + my $exponent = $length - $digit; + push @digits, int($remainder / $base ** $exponent); + $remainder -= $digits[-1] * $base ** $exponent; + } + say join('', map { $string[$_] } @digits); +} |