|
| Back to Perl Golf |
Referee comments are in italics. Blue rows denote golfer's best solution. Red text denotes special characters.
| Score | Golfer | Submit Time | Code |
| 44.11 | BoB (Best of Breed - referees) | Tue Aug 6 14:18:36 2002 | -l $_*=$`%9e9,??for~4=~?0*$?..pop;print$`%10 |
| 44.11 | Juho Snellman | Thu Aug 8 04:25:32 2002 | -l $_*=$`%9e9,??for~4=~?0*$?..pop;print$`%10 |
| Ah, the other regexp could be changed to ?? too. | |||
| 44.12 | BoB (Best of Breed - referees) | Mon Aug 5 23:34:39 2002 | -l $_*=$`%9e9,??for+1=~?0*$?..pop;print$`%10 |
| 44.12 | BoB (Best of Breed - referees) | Tue Aug 6 00:47:40 2002 | -l $_*=$`%9e9,??for??=~?0*$?..pop;print$`%10 |
| questionable ? Naah | |||
| 44.12 | Juho Snellman | Tue Aug 6 13:50:09 2002 | -l $_*=$`%9e9,//for~4=~/0*$/..pop;print$`%10 |
| Improve tiebreaker marginally. (Dammit, where's the missing 0.0013?). | |||
| 44.12 | Juho Snellman | Thu Aug 8 04:24:00 2002 | -l $_*=$`%9e9,//for~4=~?0*$?..pop;print$`%10 |
| Finally got the tiebreaker. I hope... | |||
| 44.13 | BoB (Best of Breed - referees) | Mon Aug 5 17:56:41 2002 | -l $_*=$`%9e9,//for+1=~/0*$/..pop;print$`%10 |
| 44.13 | Juho Snellman | Mon Aug 5 16:54:48 2002 | -l $_*=$`%9e9,//for+1=~/0*$/..pop;print$`%10 |
| Hmm... It seems that the map was a pessimization. Back to for. | |||
| 45.11 | Juho Snellman | Mon Aug 5 16:45:15 2002 | -l map{$_*=$`%9e9;//}1=~/0*$/..pop;print$`%10
|
| Use *= | |||
| 46.10 | Juho Snellman | Mon Aug 5 16:38:33 2002 | -l map{//for$_*$`%9e9}1=~/0*$/..pop;print$`%10
|
| 46.11 | Eugene van der Pijll | Wed Aug 7 22:28:07 2002 | -l $_*=$~%9e8,$~=/0*$/.$`for@~..pop;print$~%10 |
| I should have seen this sooner, I suppose... | |||
| 46.13 | BoB (Best of Breed - referees) | Mon Aug 5 16:28:33 2002 | -l ($`%9e9*$_)=~//for+1=~/0*$/..pop;print$`%10 |
| 46.13 | Juho Snellman | Mon Aug 5 15:28:01 2002 | -l ($`%9e9*$_)=~//for+1=~/0*$/..pop;print$`%10 |
| Use the return value of the initial regexp as part of the loop condition. Saves an amazing 2 strokes. | |||
| 48.08 | Rick Klement | Sat Aug 3 03:04:07 2002 | $}=substr$}*".$_",~6for++$}..pop;print+chop$},$/ |
| catch BoB? | |||
| 48.08 | Rick Klement | Sun Aug 4 15:14:33 2002 | -l $}=substr$}*".$_",~6for++$}..pop;print+chop$} |
| slightly better tiebreak | |||
| 48.08 | BoB (Best of Breed - referees) | Sat Aug 3 02:51:31 2002 | -l $}=substr$}*".$_",-7for++$}..pop;print+chop$} |
| smirk | |||
| 48.09 | Rick Klement | Sat Aug 3 01:04:24 2002 | $}=substr$}*".$_",-7for++$}..pop;print+chop$},$/ |
| 48.12 | Eugene van der Pijll | Wed Aug 7 22:22:47 2002 | -l $_=$~*$_%9e8,$~=/0*$/.$`for@~..pop;print$~%10 |
| 48.12 | Eugene van der Pijll | Wed Aug 7 16:35:03 2002 | -l $_*=$z,$z=$`//0*$/%9e8for++$z..pop;print$z%10 |
| 48.12 | BoB (Best of Breed - referees) | Thu Aug 1 10:22:30 2002 | -l $_*=$z,/0*$/,$z=$`%1e6for++$z..pop;print$z%10 |
| 48.12 | Bass | Sat Aug 3 14:56:16 2002 | -l $_*=$},/0*$/,$}=$`%1e9for++$}..pop;print$}%10 |
| shuffle, rinse, repeat | |||
| 48.12 | Wladimir Palant | Thu Aug 1 23:46:35 2002 | -l $_*=$}%1e6,/0*$/,$}=$`for++$}..pop;print$}%10 |
| 48.12 | Markus Laire | Thu Aug 8 02:46:38 2002 | -l $_*=$z%9e9,/0*$/,$z=$`for++$z..pop;print$z%10 |
| 48.13 | Juho Snellman | Mon Aug 5 15:03:03 2002 | -l 1=~/0*$/;($`%9e9*$_)=~//for 1..pop;print$`%10 |
| Wohoo!! Empty regexps to the rescue. | |||
| 48.13 | Michael Rybakin | Wed Aug 7 06:02:34 2002 | -l $_*=$z%1e9,/0*$/,$z=$`for++$z..pop;print$z%10 |
| 48.22 | Eugene van der Pijll | Wed Aug 7 05:00:26 2002 | -l $_*=$^F,$^F=$`///%9e8for?0*$?..pop;print$^F%20/2 |
| 48.28 | Markus Laire | Thu Aug 8 01:58:37 2002 | $_*=$*%9e9,/0*$/,$*=$`for++$*..pop;print$*%10,$/ |
| 48.30 | Eugene van der Pijll | Tue Aug 6 18:05:45 2002 | -l $_*=$^F,$^F=$`//0*$/%9e8for+1..pop;print$^F/2%10 |
| 49.09 | Mtv Europe | Tue Aug 6 11:42:22 2002 | for$~(0..pop){$_=$`%9e9*$~||1;s~0*$~
~}print/.
/g
|
| tie optimization | |||
| 49.10 | Stephen Turner | Thu Aug 1 17:59:12 2002 | -l ($}=$}%1e9*$_)=~s~0+$~~for++$}..pop;print$}%10 |
| 49.10 | Stephen Turner | Sun Aug 4 10:06:18 2002 | -l ($}=$}%9e9*$_)=~s~0+$~~for++$}..pop;print$}%10 |
| Improving my tie-breaker by a massive 0.00058 strokes. Call it professional pride. | |||
| 49.10 | Juho Snellman | Mon Aug 5 11:23:57 2002 | -l ($}=$}%1e9*$_)=~s~0*$~~for++$}..pop;print$}%10 |
| Initialize $} with ++ in the loop generator, instead of using ||1 in the loop body. | |||
| 49.10 | Wladimir Palant | Thu Aug 1 18:33:36 2002 | -l ($}=$}*$_%1e6)=~s~0*$~~for++$}..pop;print$}%10 |
| 49.10 | Michael Rybakin | Tue Aug 6 12:44:32 2002 | -l ($z=$_*$z%1e9)=~s|0*$||for++$z..pop;print$z%10 |
| 49.11 | Chris Dolan | Mon Aug 5 14:37:14 2002 | -l ($z=$z*$_%1e9)=~s^0*$^^for++$z..pop;print$z%10 |
| Just a simple tiebreaker improvement... | |||
| 49.11 | Mtv Europe | Thu Aug 1 14:33:30 2002 | for$n(0..pop){$_=$_*$n%1e8||1;s/0*$/
/}print/.
/g
|
| 49.12 | Honza Pazdziora | Thu Aug 1 19:22:33 2002 | -l ($z=$z*$_%1E6)=~s/0*$//for++$z..pop;print$z%10 |
| 49.12 | Jukka Suomela | Thu Aug 1 15:32:53 2002 | -l ($y=$y*$_%1E8)=~s/0*$//for++$y..pop;print$y%10 |
| 49.12 | Jukka Suomela | Thu Aug 1 17:02:34 2002 | -l ($}=$}*$_%1e8)=~s/0*$//for++$}..pop;print$}%10 |
| 49.12 | Chris Dolan | Mon Aug 5 06:51:58 2002 | -l ($z=$z*$_%1e9)=~s/0*$//for++$z..pop;print$z%10 |
| 49.12 | Pepik | Sun Aug 4 16:07:59 2002 | -l ($}=$}*$_%1e6)=~s/0*$//for++$}..pop;print$}%10 |
| 49.12 | Josef Drexler | Mon Aug 5 01:57:24 2002 | -l ($z=$z*$_%1e9)=~s/0*$//for++$z..pop;print$z%10 |
| 49.12 | Wladimir Palant | Thu Aug 1 18:11:49 2002 | -l ($}=$}*$_%1E6)=~s/0*$//for++$}..pop;print$}%10 |
| 49.19 | Eugene van der Pijll | Fri Aug 2 21:24:22 2002 | -l ($^F=$^F*$_%1e9)=~s/0*$//for 1..pop;print$^F/2%10 |
| Hmmmm. Nice solution, but is it portable? It uses $^F, which is "ordinarily 2". | |||
| 49.19 | Eugene van der Pijll | Fri Aug 2 22:17:38 2002 | -l ($^F=$^F*$_%1e9)=~s/0*$//for 1..pop;print$^F/2%10 |
| Better tiebreaker than the last, by .0067 | |||
| 49.19 | Eugene van der Pijll | Fri Aug 2 22:35:20 2002 | -l ($^F=$^F*$_%1e9)=~s/0*$//for.5,1..pop;print$^F%10 |
| Oops, I submitted the wrong file. This is the one with the improved tiebreaker. | |||
| 50.09 | Terje K | Tue Aug 6 21:43:07 2002 | -l $_=$_*++$z%1e6,s~0+$~~for($_=1)x pop;print chop |
| 50.09 | Ross Younger | Mon Aug 5 21:26:25 2002 | -l ($~=$_*$~%1e9||1)=~s~0+$~~for~0..pop;print$~%10 |
| 50.09 | James Harvey | Mon Aug 5 21:15:04 2002 | -l ($z=$z*$_%1e6||1)=~s~0*$~~for 0..pop;print$z%10 |
| well, duh, same optimisation on both holes, bonus... | |||
| 50.09 | Juho Snellman | Fri Aug 2 21:04:09 2002 | -l ($~=$~%1e9*$_||1)=~s~0*$~~for 0..pop;print$~%10 |
| Doh! Grab the last number with %10 instead of chop. | |||
| 50.10 | Ross Younger | Sun Aug 4 19:30:36 2002 | -l ($~=$_*$~%1e9||1)=~s/0*$//for~0..pop;print$~%10 |
| 50.10 | Greg Allen | Thu Aug 1 19:04:40 2002 | -l $z=$z*++$y%1e6,s~0*$~~for($z=1)x pop;print$z%10 |
| 50.10 | Greg Allen | Fri Aug 2 09:53:45 2002 | -l $~=$~*++$z%1e6,s|0*$||for($~=1)x pop;print$~%10 |
| yes! 0.0008 improvement | |||
| 50.10 | Wladimir Palant | Thu Aug 1 13:19:19 2002 | -l ($}=$}*$_%1E6||1)=~s/0*$//for$~..pop;print$}%10 |
| 50.11 | Rick Klement | Thu Aug 1 13:41:15 2002 | -l $_=$_*++$}%9e9,s/0+$//for($_=1)x pop;print chop |
| 50.11 | Petri Mikkelä | Thu Aug 1 11:53:17 2002 | -l ($~=$~*$_%9e9||1)=~s/0*$//for 0..pop;print$~%10 |
| 50.11 | Alexander Onokhov | Mon Aug 5 23:47:38 2002 | -l ($a=$_*$a%1e6||1)=~s/0*$//for$|..pop;print$a%10 |
| 50.12 | Chris Dolan | Fri Aug 2 05:14:05 2002 | -l $z=$z*++$y%1e7,s/0*$//for($z=1)x pop;print$z%10 |
| 50.12 | Eugene van der Pijll | Fri Aug 2 04:30:42 2002 | -l ($a=$a*$_%1e9||1)=~s/0*$//for 0..pop;print$a%10 |
| 50.12 | Jasper McCrea | Thu Aug 1 19:38:44 2002 | -l ($o=$_*$o%1e7||1)=~s/0*$//for 0..pop;print$o%10 |
| I don't even understand the postorder hole!! | |||
| 50.12 | Josef Drexler | Fri Aug 2 02:05:59 2002 | -l $_*=$z,s/0*$//,$z=$_%1e7for++$z..pop;print$z%10 |
| inspiration struck, and I'm getting very close! | |||
| 50.13 | Qingning Huo | Tue Aug 6 07:26:22 2002 | -l $_*=$~,/0*$/,$~=$`%1e9for($~=1)..pop;print$~%10 |
| 50.13 | Qingning Huo | Wed Aug 7 16:05:44 2002 | -l $_*=$~,/0*$/,$~=$`%9e9for($~=1)..pop;print$~%10 |
| 50.13 | Bass | Thu Aug 1 09:53:30 2002 | (($}%=1e9)*=$_)=~s/0*$//for++$}..pop;print$}%10,$/ |
| first try.. | |||
| 50.13 | Markus Laire | Mon Aug 5 15:55:02 2002 | $_*=$~%1e6,/0*$/,$~=$`for($~=1)..pop;print$~%10,$/ |
| 50.13 | Markus Laire | Tue Aug 6 12:51:40 2002 | $_*=$~%9e9,/0*$/,$~=$`for($~=1)..pop;print$~%10,$/ |
| 51.08 | Prakash Kailasa | Thu Aug 8 02:55:38 2002 | -l for$~(0..pop){$_=$_%1e6*$~||1;s~0+$~~}print+chop |
| 51.09 | Prakash Kailasa | Mon Aug 5 19:44:17 2002 | -l for$z(0..pop){$_=$_*$z%1e6||1;s/0*$//}print+chop |
| 51.10 | Terje K | Tue Aug 6 21:32:17 2002 | -l ($_*=++$z)%=1e7,s~0+$~~for($_=1)x pop;print chop |
| 51.11 | Wladimir Palant | Thu Aug 1 15:25:35 2002 | -l ($`*$_%1E6||1)=~/0*$/,$~=$`for$~..pop;print$~%10 |
| This solution is longer than my best one, unfortunately $` is not global | |||
| 51.12 | Amir Karger | Tue Aug 6 15:55:46 2002 | -l $p=($p*$_)=~/0*$/*$`%1e6||1for 0..pop;print$p%10 |
| Aha! I've finally clawed my way through the "barren zone" into the upper section of the leaderboard! | |||
| 51.12 | gimbo | Sat Aug 3 12:25:21 2002 | -l for$k(++$_..pop){$_=$k*$_%1e6;s/0*$//}print$_%10
|
| 51.12 | Eike Grote | Wed Aug 7 07:36:28 2002 | -l ($}=$}*$_%1e9)=~s/0+$//for(++$}..pop);print$}%10 |
| 51.12 | Wladimir Palant | Thu Aug 1 12:39:28 2002 | -l ($}=$}*$_%1E6)=~s/0*$//for($}=1)..pop;print$}%10 |
| 51.13 | Qingning Huo | Sat Aug 3 16:53:57 2002 | -l $~=($_*=$~)*s/0*$//%1e9for($~=1)..pop;print$~%10 |
| 51.13 | Ross Younger | Sun Aug 4 12:40:43 2002 | -l ($a=$_*$a%1e6)=~s/0*$//for$a=1,2..pop;print$a%10 |
| 51.13 | Martti Laitinen | Thu Aug 8 02:21:55 2002 | ($r=$r*$_%1e6)=~s/0*$//for($r=1)..pop;print$r%10,$/ |
| My first golf :) Too bad I didn't have time for the second hole. I wish I have time at least rethink this later with some people... There is still time | |||
| 52.09 | Terje K | Thu Aug 1 09:33:02 2002 | -l for$b(++$_..pop){($_*=$b)%=1e6;s|0+$||}print chop |
| 52.10 | Mtv Europe | Thu Aug 1 06:52:21 2002 | -l for$n(++$_..pop){($_*=$n)%=1e8;s/0*$//}print chop
|
| 52.10 | James Harvey | Mon Aug 5 12:25:30 2002 | -l $z=1;($z=$z*$_%1e6)=~s~0*$~~for 1..pop;print$z%10 |
| 52.10 | Juho Snellman | Fri Aug 2 11:51:40 2002 | -l ($p=$p%1e7*$_||1)=~s/0*$//for 0..pop;print+chop$p |
| Replace a regexp with a modulo. | |||
| 52.11 | Rick Klement | Thu Aug 1 06:08:44 2002 | -l $_*=++$n,$_%=1e6,s/0+$//for($_=1)x pop;print chop |
| first shot, but it's too late to think :) | |||
| 52.11 | Terje K | Thu Aug 1 08:03:01 2002 | -l for$b(++$_..pop){($_*=$b)%=1e6;s/0+$//}print chop |
| 52.12 | Eric Roode | Thu Aug 1 21:25:44 2002 | -l $z=1;($z=$z*$_%1e7)=~s/0+$//for 2..pop;print$z%10 |
| Slowly chipping away at it. | |||
| 52.12 | Greg Allen | Thu Aug 1 18:36:38 2002 | -l ($z=$z*++$y%1e6)|s/0*$//for($z=1)x pop;print$z%10 |
| 52.13 | Qingning Huo | Sat Aug 3 09:01:52 2002 | -l $_*=$x,s/0*$//,$x=$_%1e9for($x=1)..pop;print$x%10 |
| 52.13 | Amir Karger | Mon Aug 5 16:55:43 2002 | -l $p=($p*$_)=~/0*$/*$`%1e6||1for 0..pop; print$p%10 |
| I swore I wasn't going to enter this month. I kept my vow until August 1, about 11 am... | |||
| 52.13 | Ross Younger | Sat Aug 3 19:08:26 2002 | -l $a=1;($a=$_*$a%1e6)=~s/0*$//for 2..pop;print$a%10 |
| Now if only I could figure out how to avoid the `print' ... | |||
| 52.13 | Eric Roode | Fri Aug 2 16:03:23 2002 | -li1 ($^I=$^I*$_%1e7)=~s/0+$//for 2..pop;print$^I%10 |
| Playing around with ways to shorten. Not getting very far. | |||
| 52.13 | Markus Laire | Sun Aug 4 22:36:31 2002 | $_*=$~%1e6,/0*$/,$~=$`for($~=1)..pop;print$~%10,"\n" |
| 53.10 | James Harvey | Sun Aug 4 21:02:40 2002 | -l $_=1;for$z(1..pop){$_=$_*$z%1e6;s~0*$~~}print$_%10 |
| more tiebreaks... | |||
| 53.11 | tinita | Mon Aug 5 01:03:18 2002 | -l ($~=$~*$_%10**6)=~s~0*$~~for($~=1)..pop;print$~%10 |
| working on tiebreak... | |||
| 53.12 | Honza Pazdziora | Thu Aug 1 18:49:33 2002 | -l $_=1;for$z(1..pop){$_=$_*$z%1E6;s/0*$//}print$_%10 |
| 53.12 | James Harvey | Sun Aug 4 12:35:15 2002 | -l $_=1;for$t(1..pop){$_=$_*$t%1e6;s/0*$//}print$_%10 |
| more whittling... | |||
| 53.12 | me ELOISE | Wed Aug 7 21:39:27 2002 | -l $_=1;for$i(1..pop){$_=$i*$_%1e7;s/0*$//}print$_%10 |
| 53.13 | James Harvey | Sun Aug 4 16:30:32 2002 | -l $t=1;($t=$t*$_%1e6)=~s/0*$//for(1..pop);print$t%10 |
| 53.13 | Jasvir Nagra | Tue Aug 6 00:54:01 2002 | -l for(++$p..pop){$_*=$p;/0*$/;$p=$`%10**6}print$p%10 |
| Finally remembered that I know how to get rid of $ARGV[0]! | |||
| 53.14 | Eugene van der Pijll | Thu Aug 1 20:43:07 2002 | -l $a=1;(($a%=1e9)*=$_)=~s/0*$//for 1..pop;print$a%10 |
| 53.14 | Ross Younger | Fri Aug 2 22:42:38 2002 | -l $a=1;($a=$a*$_%1e6)=~s/0*$//for(2..pop);print$a%10 |
| 53.14 | tinita | Thu Aug 1 19:50:42 2002 | -l ($s=$s*$_%10**6)=~s/0*$//for($s=1)..pop;print$s%10 |
| hope the "10**6" will be okay, since the input is limited to 9999 | |||
| 53.16 | Aj | Tue Aug 6 17:18:59 2002 | -l $_*=$a,/0*$/,$a=$`%10**9for($a=1)..pop;print$a%10; |
| 54.11 | Terje K | Thu Aug 1 07:24:04 2002 | -l $_=1;for$b(1..pop){($_*=$b)%=1e6;s/0+$//}print chop |
| 54.12 | Marko Nippula | Mon Aug 5 15:34:33 2002 | -l $_++;$_*=$~--,s/0$//,$_%=1e5while$~+=pop;print$_%10 |
| 54.12 | Markus Laire | Sun Aug 4 22:04:11 2002 | $x=$x*$_%1e6,$x=~s/0*$//for($x=1)..pop;print$x%10,"\n" |
| 54.13 | Alistair McGlinchy | Tue Aug 6 23:25:16 2002 | -l $n=1;($n*=$_)=~s/0*$//,$n%=1e8for 1..pop;print$n%10 |
| 54.13 | Keith Calvert Ivey | Tue Aug 6 00:13:34 2002 | -l $_*=$z,($z)=/(.{0,6}?)0*$/for($z=1)..pop;print$z%10 |
| 54.13 | Keith Calvert Ivey | Thu Aug 8 04:32:42 2002 | -l $_*=$~,($~)=/(.{0,9}?)0*$/for($~=1)..pop;print$~%10 |
| Just some last-minute tiebreaker silliness. | |||
| 54.13 | James Harvey | Sun Aug 4 12:26:48 2002 | -l $_=1;for$t(1..pop){($_*=$t)%=1e6;s/0*$//}print$_%10 |
| whittling, whittling... | |||
| 54.16 | Aj | Tue Aug 6 13:04:32 2002 | -l $a=1;$_*=$a,/0*$/,$a=$`%10**9for 1..pop;print$a%10; |
| 55.10 | Chris Dolan | Fri Aug 2 03:01:53 2002 | -l $_=substr$_*=++$c,s/0*$//-7for($_=1)x pop;print chop |
| 55.10 | Prakash Kailasa | Mon Aug 5 19:33:19 2002 | -l for$z(0..pop){$_=$_*$z||1;s/0*$//;$_%=1e6}print+chop |
| 55.10 | Terje K | Thu Aug 1 06:46:49 2002 | -l $_=1;for$b(1..pop){$_*=$b;s/0+$//;$_%=1e6}print chop |
| 55.11 | Juho Snellman | Fri Aug 2 07:32:49 2002 | -l s/.{1,6}$/$&*++$i/e,s/0*$//for($_=1)x+pop;print+chop
|
| This is pretty slow for the later tests. Getting the solution for 9999! takes about 70 seconds on my 600MHz machine. | |||
| 55.12 | Honza Pazdziora | Thu Aug 1 16:30:27 2002 | -l $_=1;for$z(1..pop){$_*=$z;s/0*$//;$_%=1E6}print$_%10 |
| 55.12 | James Harvey | Sun Aug 4 09:39:15 2002 | -l $x=1;for(1..pop){(($x*=$_)%=1e6)=~s/0*$//}print$x%10 |
| 55.12 | Michael Robinson | Sat Aug 3 08:04:34 2002 | -l $_=1;for$i(2..pop){$_*=$i;s/0*$//;$_%=1e6}print$_%10
|
| The 1e6 seems like cheating, but I can't work out another algorithm. There should be one, according to a reference @ MathWorld, but the paper isn't online. | |||
| 55.12 | Wladimir Palant | Thu Aug 1 12:22:24 2002 | -l $_=1;for$~(1..pop){$_*=$~;s/0*$//;$_%=1E6}print$_%10 |
| 55.12 | me ELOISE | Wed Aug 7 21:08:48 2002 | -l $_=1;for$i(1..pop){$_*=$i;s/0*$//;$_%=1e6}print$_%10 |
| 55.13 | Marko Nippula | Sat Aug 3 06:01:06 2002 | -l $_++;$_*=$~--,s/0+$//,$_%=1e5while$~+=pop;print$_%10 |
| Looping backwards allowed to replace /5/2until%5 thing with s/0+$//. | |||
| 55.13 | Guillermo Sansovic | Sun Aug 4 13:16:51 2002 | -l for$n(++$_..pop){s/(.{1,6})0*$/$1*$n/e}print/(.)0*$/ |
| 55.13 | Stanislav Svirid | Wed Aug 7 16:57:16 2002 | -l $_=1;for$.(1..pop){$_=$_%10**6*$.;s/0*$//}print chop
|
| 56.08 | Michael Wrenn | Tue Aug 6 13:47:34 2002 | -l for$~(0..pop){$_=substr$_*$~||1,-9;s/0*$//}print chop |
| I'm sitting at the back of the bus wondering why all the kids said it was so much more fun. Ah! The ride is much bumpier! | |||
| 56.11 | Yanick Champoux | Sat Aug 3 14:38:25 2002 | -l ++$_;$_*=$x--,s/0*$//,$_%=1E5while$x||=pop;print chop |
| 56.11 | Jukka Suomela | Thu Aug 1 14:41:28 2002 | -l ($y)=($y*$_)=~/(.{1,6}?)0*$/for++$y..pop;print chop$y
|
| 56.12 | James Harvey | Fri Aug 2 08:37:09 2002 | -l $x=1;for(1..pop){($x*=$_)=~s/0*$//;$x%=1e6}print$x%10 |
| 56.13 | Keith Calvert Ivey | Sun Aug 4 02:05:53 2002 | -l ($z)=($z*$_)=~/(.{0,6}?)0*$/for($z=1)..pop;print$z%10 |
| 56.13 | Ala Qumsieh | Mon Aug 5 17:55:31 2002 | -l for$i(0..pop){/(.{0,8})0*$/;$_=$i*$1||1}print/(.)0*$/ |
| I don't have time for golf this month, and with the crazy scores obtained by others so far, I feel too discouraged to even try! Oh well :) | |||
| 56.13 | Eric Roode | Thu Aug 1 20:29:26 2002 | $p=1;$p*=$_,$p=~s/0+$//,$p%=1e6for(2..pop);print$p%10,$/ |
| 57.10 | Wladimir Palant | Sat Aug 3 11:41:54 2002 | -l $_=1;s~.*([^0])~$&*$}%9e9~ewhile$}++<=$ARGV[0];print$1 |
| Same thing a bit shorter | |||
| 57.13 | Prakash Kailasa | Mon Aug 5 19:01:40 2002 | -l for$n(0..pop){$_=$1*$n||1;/(.{1,6}?)0*$/}print/(.)0*$/ |
| 57.13 | Matthias Schoder | Thu Aug 1 14:24:51 2002 | -l $_++;for$i(1..pop){s/(.{1,6})0*$/$1*$i/e}print/(.)0*$/ |
| 57.14 | Matthias Schoder | Sat Aug 3 22:27:22 2002 | -l $_++;for$i(1..pop){s/(.{1,6})0*$/$1*$i/e}print/(.)0*$/ |
| 57.14 | Matthias Schoder | Tue Aug 6 16:18:35 2002 | -l $_++;for$i(1..pop){s/(.{1,6})0*$/$1*$i/e}print/(.)0*$/ |
| 57.14 | Matthias Schoder | Tue Aug 6 16:19:02 2002 | -l $_++;for$i(1..pop){s/(.{1,6})0*$/$1*$i/e}print/(.)0*$/ |
| 58.09 | Brad Jones | Fri Aug 2 17:01:55 2002 | -l $z=pop;$_=1;while($z){s|0$||;$_=$_*$z--%1e9}print chop;
|
| Merge two expressions into one, saving 2 more characters. | |||
| 58.10 | Prakash Kailasa | Sat Aug 3 03:41:40 2002 | -l for$n(0..pop){$_=$1*$n||1;s/(.{1,6}?)0*$/$1/}print+chop |
| 58.15 | Jasvir Nagra | Sun Aug 4 04:39:19 2002 | -l for(++$p..$ARGV[0]){$_*=$p;/0*$/;$p=$`%10**6}print$p%10 |
| Just something to get going I suppose. | |||
| 59.11 | Ala Qumsieh | Thu Aug 1 19:13:30 2002 | -l $_=1;for$i(1..pop){$_*=$i;($_)=/(.{1,9}?)0*$/}print+chop |
| 59.11 | Ross Younger | Thu Aug 1 17:55:44 2002 | -l $a=1;map{$a=$a%1e6*$_;$a/=10until$a%10}2..pop;print$a%10 |
| 59.14 | Tom Hargreaves | Sat Aug 3 19:52:46 2002 | for$~(++$_..pop){$_*=$~,($_)=/(.{0,6}?)0*$/}print$&x/.$/,$/
|
| 60.09 | Brad Jones | Fri Aug 2 02:59:58 2002 | -l $z=pop;$_=1;while($z){$_*=$z--;s|0$||;$_%=1e9}print chop;
|
| 60.11 | Mtv Europe | Thu Aug 1 05:46:16 2002 | -l for$n(++$_..pop){$_*=$n;s/0*$//;s/.*(.{6})/$1/}print chop
|
| non cheating but still bad | |||
| 60.11 | Ross Younger | Thu Aug 1 12:53:36 2002 | -l $a=1;for(2..pop){$a=$a*$_%1e6;$a/=10until$a%10}print$a%10 |
| 60.11 | Roberto Natella | Thu Aug 1 22:45:07 2002 | -l for$n(++$_..pop){$_*=$n,($_)=/(.{0,9}[^0])0*$/}print chop |
| 60.13 | Chris Dolan | Fri Aug 2 01:28:55 2002 | -l $_*=++$c,s/0*$//,s/.*(.{6})$/$1/for($_=1)x pop;print chop |
| 60.13 | Josef Drexler | Fri Aug 2 01:32:40 2002 | -l for$z(++$_..pop){$_*=$z;s/0*$//;s/.*(.{7})/$1/}print/.$/g |
| 60.13 | Dave Hoover | Fri Aug 2 13:38:23 2002 | -l for$a(++$_..pop){$_*=$a;($_)=/(.{0,5}[^0])0*$/}print/.$/g |
| Hacking my way out... | |||
| 60.14 | Marko Nippula | Thu Aug 1 14:49:13 2002 | -l map{$_/=5,$^F/=2until$_%5;$^F=$^F%1e5*$_}2..pop;print$^F/2%10
|
| Some optimizations. | |||
| 60.14 | Matthias Schoder | Thu Aug 1 13:48:05 2002 | -l $_++;for$i(1..pop){s/.*?(.{1,6})0*$/$1*$i/e}print/(.)0*$/ |
| 60.14 | Wladimir Palant | Thu Aug 1 09:28:30 2002 | -l $_=1;for$a(1..pop){$_*=$a;s/0*$//;$_%=1000000}print $_%10 |
| 61.11 | Wladimir Palant | Sat Aug 3 11:36:36 2002 | -l $_=1;z while s~.*([^0])~$}++<$ARGV[0]?$&*$}%9e9:!print$1~e |
| Just another nice solution, a bit too long though... | |||
| 61.12 | Scott Hall | Mon Aug 5 22:45:07 2002 | -l $Z=1;map{($Z)=($Z*=$_)=~/(.{1,9}?)0*$/}1..pop;print chop$Z |
| 61.12 | Brad Jones | Thu Aug 1 21:50:09 2002 | -l $z=pop;$_=1;while($z){$_*=$z--;s/0*$//;$_%=1e9}print$_%10;
|
| Use $_. Duh. | |||
| 61.13 | Michael Wrenn | Mon Aug 5 20:21:30 2002 | -l for$c(++$_..pop){$_*=$c;s/.*?(\d{6})0*$/$1/}print/(\d)0*$/ |
| Can I be in the Amateur section this time? I have no excuses. | |||
| 61.14 | Matthias Schoder | Tue Aug 6 22:13:09 2002 | -l $_++;for$i(1..pop){s/^.*?(.{1,6})0*$/$1*$i/e}print/(.)0*$/ |
| 61.14 | zImage | Sat Aug 3 20:17:40 2002 | -l $_=1;for($b=pop;$b;){/(.{0,6}?)0*$/;$_=$1*$b--}print/(.$)/
|
| 62.11 | Scott Hall | Mon Aug 5 01:56:15 2002 | -l $x=1;for(1..pop){($x)=($x*=$_)=~/(.{1,9}?)0*$/}print chop$x |
| 62.14 | zImage | Sat Aug 3 19:10:16 2002 | -l $_=1;for($b=pop;$b;){/(.{0,6}?)0*$/;$_=$1*$b--}/.$/;print$&
|
| Only 14 strokes from the current high score. I wish I could get postorder this short. | |||
| 62.15 | me ELOISE | Tue Aug 6 18:20:30 2002 | -l $_=1;for$i(1..pop){$_*=$i;($_)=/(.{0,5}?.)0*$/}/.$/;print$& |
| 63.11 | Yanick Champoux | Sat Aug 3 00:08:32 2002 | -l $_=1;$x=pop;$_*=$x--,($_)=/([^0]{1,5})0*$/while$x;print chop |
| Okay... Second try. | |||
| 63.12 | Prakash Kailasa | Fri Aug 2 03:40:05 2002 | -l $_=1;for$n(1..pop){$_*=$n;s/0*$//;/.{1,6}$/;$_=$&}print chop |
| 63.12 | Matthias Schoder | Thu Aug 1 12:42:30 2002 | -l $_=1;for$i(1..pop){$_*=$i;($_)=/(\d{1,6})0*$/}print/(\d)0*$/ |
| 63.13 | Oleg | Fri Aug 2 16:58:21 2002 | $_=1;for($m=pop;$m;){s/([^0]{1,5})0*$/$1*$m--/e}/.$/;print"$&
" |
| It's quite slow, but that must be enough... | |||
| 64.10 | Honza Pazdziora | Thu Aug 1 14:50:08 2002 | -l $z=1;map{$z*=$_;$z=~s/.*?(.{1,6}?)0*$/$1/}1..pop;print chop$z |
| 64.11 | James Harvey | Thu Aug 1 13:20:49 2002 | -l $x=1;for(1..pop){($x*=$_)=~s/.*?(.{1,6}?)0*$/$1/}print chop$x |
| 64.12 | Ala Qumsieh | Thu Aug 1 17:54:59 2002 | -l $_=1;for$i(1..pop){$_*=$i;s/0*$//;($_)=/(.{0,9})$/}print+chop |
| First try ... weird hole! | |||
| 64.17 | me ELOISE | Tue Aug 6 17:57:37 2002 | $_=1;for$i(1..pop){$_*=$i;($_)=/(.{0,5}?.)0*$/}/(.)$/;print"$1
" |
| 65.11 | Josef Drexler | Thu Aug 1 05:25:23 2002 | -l $_=1;for$a(1..pop){$_*=$a;s/0*$//;s/\d*(\d{7})/$1/};print/.$/g |
| quick'n'dirty | |||
| 65.12 | entropie | Fri Aug 2 15:26:16 2002 | -l $f=$_=$ARGV[0]||1;while(--$f){$_*=$f;s/0$//;$_%=1e6}print$_%10 |
| 65.16 | Marko Nippula | Thu Aug 1 14:00:26 2002 | -l map{$_/=($^F/=2)&&5until$_%5;$^F=($^F%1e5)*$_}1..pop;print$^F/2%10
|
| 65.17 | me ELOISE | Sat Aug 3 04:42:37 2002 | $_=1;for$i(1..pop){$_*=$i;/(.{0,5}?.)0*$/;$_=$1}/(.)$/;print"$1
" |
| 66.11 | Martin Carlsen | Sat Aug 3 22:09:37 2002 | -l map{until($_%5){$_/=5;$p/=2}$p=$p%10**5*$_}++$p..pop;print$p%10
|
| 66.12 | Prakash Kailasa | Thu Aug 1 05:46:50 2002 | $_=1;for$n(1..pop){$_*=$n;s/0*$//;s/.*?(.{1,6})$/$1/}print chop,$/ |
| 67.08 | Andrew Farnsworth | Thu Aug 1 20:59:53 2002 | -l $z=1;for(1..$ARGV[0]){$z=$_*substr$z,-6;$z=~s|0*$||}print chop$z |
| Corrected $zRGV to $ARGV | |||
| 67.09 | Andrew Farnsworth | Thu Aug 1 20:53:30 2002 | -l $T=1;for(1..$ARGV[0]){$T=$_*substr$T,-6;$T=~s|0*$||}print chop$T |
| Tie Breaker update and get rid of extra variable. | |||
| 67.10 | Andrew Farnsworth | Thu Aug 1 20:56:25 2002 | -l $A=1;for(1..$ARGV[0]){$A=$_*substr$A,-6;$A=~s|0*$||}print chop$A |
| TieBreaker update | |||
| 67.10 | Brad Jones | Thu Aug 1 19:57:47 2002 | -l $z=pop;$y=1;while($z){$y*=$z--;$y=~s/0*$//;$y%=1e6}print chop$y;
|
| Minor tweaks to variable names to improve tiebreaker values | |||
| 67.11 | Brad Jones | Thu Aug 1 17:51:44 2002 | -l $a=pop;$b=1;while($a){$b*=$a--;$b=~s/0*$//;$b%=1e6}print chop$b;
|
| Realized I left a 2-character piece of the previous regex version. | |||
| 67.12 | tinita | Thu Aug 1 16:56:48 2002 | -l $s=1;map{$s=$s*$_%10**6;$s=~s/(.)0*$/$1/;$l=$1}1..pop;print$l||1 |
| 67.12 | Phil Radden | Fri Aug 2 19:38:41 2002 | -l $z=1;for(2..pop){$_/=5,$z/=2until$_%5;$z=$z%100000*$_}print$z%10 |
| Deary me, must remember how to play golf after being away so long :( | |||
| 67.13 | Nik L | Tue Aug 6 06:16:11 2002 | -l for(($t=1)..pop){$_*=$t;$t=(/(\d*[^0])0*/)[0]%1000000}print$t%10 |
| 67.14 | Eric Roode | Thu Aug 1 16:44:48 2002 | #!perl
$p=1;$p*=$_,$p=~s/.*?(\d{1,5}[^0])0*$/$1/for(1..pop);print$p%10,"
" |
| Lame, but wanted to get on the board. | |||
| 69.11 | Brad Jones | Thu Aug 1 17:49:41 2002 | -l $a=pop;$b=1;while($a){$b*=$a--;$b=~s/0*$/$1/;$b%=1e6}print chop$b;
|
| Second working version; first had a longer regexp to strip it down to 6 characters max instead of the %=. | |||
| 69.12 | Erik Beatty | Thu Aug 1 20:03:24 2002 | ++$p;for(1..pop){until($_%5){$_/=5;$p/=2}$p=$p%10**5*$_}print$p%10,$/ |
| 69.13 | Ryan Zachry | Thu Aug 1 19:53:54 2002 | -l $n=pop;$_=1;while($n){$_*=$n--;s/0*$//;s/.*(.{5})/$+/}/.$/;print$& |
| 69.13 | Erik Beatty | Wed Aug 7 19:00:15 2002 | ++$x;for(1..pop){$_*=$x;s/0*$//;/\d{0,6}$/;$x=$&}$x=~/\d$/;print$&,$/ |
| Same score, diff solution... | |||
| 69.13 | entropie | Fri Aug 2 14:32:03 2002 | $f=$_=$ARGV[0]||1;while(--$f){$_*=$f;s/0*$//;$_%=1e6}/.$/;print"$&\n" |
| faster... | |||
| 69.16 | me ELOISE | Sat Aug 3 04:22:36 2002 | $_=1;for$i(1..pop){$_*=$i;s/.*?(.{0,5}[1-9])0*$/$1/}/(.)$/;print"$1
" |
| 71.11 | Mtv Europe | Thu Aug 1 05:31:33 2002 | -l for$n(++$_..pop){s/./'$_.=0;'.'++$_;'x$&x$n/eg;eval}print/([^0])0*$/
|
| cheating | |||
| 73.09 | Andrew Farnsworth | Thu Aug 1 20:46:37 2002 | -l $f=$ARGV[0];$t=1;for(1..$f){$t=$_*substr$t,-6;$t=~s|0*$||}print chop$t |
| Longshot | |||
| 73.12 | Martin Carlsen | Sat Aug 3 21:02:13 2002 | -l $_=1;for$f(1..pop){until($f%5){$f/=5;$_/=2}$_=($_%10**5)*$f}print$_%10 |
| 73.14 | Honza Pazdziora | Thu Aug 1 14:25:53 2002 | -l $a=1;$a=~s/^.*?(.{0,5}[^0])0*$/$1/,$a*=$_ for 1..pop;print$a=~/(.)0*$/ |
| 75.11 | Danny Rathjens | Tue Aug 6 08:25:44 2002 | -l for$n(0..pop){($_*$n+$`)=~/.$/,$_=$&for@t;$t[@t]=1}"@t"=~/[1-9]/;print$& |
| 20 minutes to pass -brief, yuck. | |||
| 75.13 | entropie | Fri Aug 2 02:49:23 2002 | $f=$_=$ARGV[0]||1;while(--$f){($_)=($f*$_)=~/(.{1,6}?)0*$/}/.$/;print"$&\n" |
| not very nice - my first try | |||
| 75.13 | zImage | Sat Aug 3 18:30:59 2002 | -l $a=1;$b=pop;while($b){$a*=$b--;$a=~/(.{0,6}?)0*$/;$a=$1}$a=~/.$/;print$&
|
| New approach. A while loop instead of recursion. | |||
| 81.12 | tinita | Thu Aug 1 13:49:55 2002 | -l sub
_{my$n=pop;$n?(($n*_($n-1))=~/(.{0,5}[^0])0*$/,$1):1}print
_(pop)=~/(.)$/; |
| 83.16 | Artem Baranov | Thu Aug 1 16:58:30 2002 | $a=pop;$a+=$a?0:1;$_=100001;for$b(1..$a){$_*=$b;/(\d{6})0*$/;$_=$1}print/(.)0*$/,$/ |
| 86.13 | Nik L | Thu Aug 1 08:11:30 2002 | -l $p=1;for(1..$ARGV[0]){$f=$_;while(!($f%5)){$f/=5;$p/=2}$p%=100000;$p*=$f}print$p%10 |
| 88.19 | me ELOISE | Fri Aug 2 02:59:08 2002 | $t=pop;$_=1;for($i=1;$i<=$t;$i++){$_*=$i;s/.*?(.?.?.?.?.?[1-9])0*$/$1/}/(.)$/;print"$1
" |
| 89.10 | zImage | Sat Aug 3 16:53:01 2002 | -l sub f{return 1if!(my$a=pop);($a*f($a-1))=~/(.{0,6}?)0*$/;return$1}f(pop)=~/.$/;print$&
|
| 89.13 | W Geldenhuys | Fri Aug 2 13:32:35 2002 | -l $i=pop;$_=$i?$i:1;while(--$i>0){$_*=$i;s/.*(\d{4}[1-9])0*/$1/}s/.*([1-9])0*/$1/;print |
| a few chars shaven. | |||
| 93.12 | Kristen Thelen | Sun Aug 4 03:53:13 2002 | -l $n=pop;$p=1;for($i=1;$i<=$n;++$i){$f=$i;while($f%5==0){$f/=5;$p/=2}$p=$p%1e5*$f}print$p%10 |
| 94.10 | zImage | Sat Aug 3 07:41:56 2002 | -l sub f{my$a=pop;return 1if(!$a);($a*f($a-1))=~/(.{0,6}?)0*$/;return$1;}f(pop)=~/.$/;print$&;
|
| 99.11 | Dr. Mu | Sat Aug 3 05:55:55 2002 | -l $r=1;for(2..pop){$_/=5,$t--until$_%5;$_/=2,$t++until$_%2;$r=$r*$_%10}$r=$r*2%10while$t--;print$r |
| 102.13 | W Geldenhuys | Fri Aug 2 13:06:57 2002 | -l $i=pop;$n=$i>0?$i:1;while(--$i>0){$n*=$i;$n=~s/.*(\d{4}[1-9])0*$/$1/g}$n=~s/.*([1-9])0*/$1/;print$n |
| 110.13 | me ELOISE | Thu Aug 1 23:14:00 2002 | $t=pop;$c=$_=1;for($i=1;$i<=$t;$i++){$_*=$i;$c*=$i;s/.*?(\d?\d?\d?\d?\d?\d?\d?[1-9])0*$/$1/}/(\d)$/;print"$1
" |
| just trying to get on thee board after my last amazingly wrong, too good to be true submission. *&^%^%$ | |||
| 121.11 | Kristen Thelen | Sun Aug 4 03:04:55 2002 | -l ($n)=@ARGV;$prod=1;for($i=1;$i<=$n;++$i){$f=$i;while ($f%5==0){$f/=5;$prod/=2;}$prod=($prod%100000)*$f}print $prod%10; |
| 126.10 | Jeremy Madea | Fri Aug 2 04:14:40 2002 | -l $}=1;for(1..shift){while(not$_%2){$_/=2;$i++}while(not$_%5){$_/=5;$i--}$}=($}*$_%10)%10}while($i){$}=($}*2)%10;$i--}print$} |
| Score | Golfer | Submit Time | Code |
| 66.17 | pom | Mon Aug 5 09:13:59 2002 | for($a=$ARGV[$_++];$a>0;$_=s/0*$//*$_%100000*$a--){}print$_%10,$/; |
| This solution works in perl1 as well as the latest versions of perl5. We are not afforded the luxury of the -l flag, the omission of the final ; or the scientific notation for big numbers. Moreover, the revitalized perl1 interpreter is still a little shaky, making some shorter solutions strangely bugging... Anyway, here it is, not too bad I think. | |||
| 85.16 | Artem Baranov | Thu Aug 1 15:43:53 2002 | $b=pop;$b+=$b?0:1;$_=100001;for$i(1..$b){$_*=$i;/(\d{6})0*?$/;$_=$1}print/(.)0*?$/,$/ |
| 98.17 | Markus Laire | Tue Aug 6 13:10:28 2002 | $z=pop;sub g{vec"^P\xd7\xa9\x98b\xef",pop,2}
print$z<2||(1+g$z%25)*(1,3,2,4)[g 24-$z/25%25]*6*(1+g$z/625)%10,$/
|
| Different approach by using lookup-tables instead of actually calculating n! Trying to figure out how this works is good exercise, especially if you don't know what patterns there are in results. Note: string for vec has few non-ascii chars. the string is "10d7a99862ef" in hex. |
| Score | Golfer | Submit Time | Code |
| 6.08 | BoB (Best of Breed - referees) | Mon Aug 5 21:36:30 2002 | line 1 |
| pasted | |||
| 6.08 | BoB (Best of Breed - referees) | Mon Aug 5 21:37:34 2002 | #!perl line 1 |
| uploaded | |||
| 33.07 | BoB (Best of Breed - referees) | Thu Aug 1 05:48:15 2002 | let's scare them a bit. short :-) |
| 48.08 | BoB (Best of Breed - referees) | Sat Aug 3 11:37:27 2002 | -l $}=substr$}*".$_",~6for++$}..pop;print+chop$} |
| 51.12 | gimbo | Sat Aug 3 12:08:18 2002 | -l for$k(++$_..pop){$_=$k*$_%1e6;s/0*$//}print$_%10
|
| 51.12 | me ELOISE | Thu Aug 1 22:29:30 2002 | $_=$t=pop;while($t>1){$_*=--$t}/(\d)0*$/;print"$1
" |
| 52.10 | Ala Qumsieh | Thu Aug 8 02:49:18 2002 | -l $x=1;map{$_/=5 until$_%5;$x*=$_}1..pop;print$x%10 |
| gives 4 for 5, instead of the correct 2 | |||
| 54.13 | Tor Hildrum | Tue Aug 6 13:37:21 2002 | -p $v=$_;for($_=1;$v>0;){$_*=$v--}s/0//g;$_=chop."\n" |
| Still in the sandtrap, but shorter than my last sandtrap :) | |||
| 57.10 | Wladimir Palant | Sat Aug 3 12:05:00 2002 | -l $_=1;s~([^0])+~$&*$}%1e6~egwhile$}++<=$ARGV[0];print$1 |
| I wonder if this one really works - I only had the time for the first 14 tests ;) | |||
| 59.12 | Dave Hoover | Thu Aug 1 21:21:35 2002 | -l for$a(++$_..pop){$_*=$a;($_)=/([^0]{1,4})0*$/}print/.$/g |
| Ahh, under 60. :-) | |||
| 63.10 | Tor Hildrum | Sun Aug 4 09:32:54 2002 | -n $v=1;while($_>0){$v*=$_--;}$v=~s/0//g;$a=chop$v;print"$a\n" |
| Works fine on my machine for < 170! | |||
| 63.13 | Dave Hoover | Thu Aug 1 20:27:19 2002 | -l $_=1;for$a(1..pop){$_*=$a;s/.*?([^0]{1,4})0*$/$1/}print/.$/g |
| Chipping away... | |||
| 64.11 | Yanick Champoux | Thu Aug 1 16:57:41 2002 | -l $x=1;($x*=$_)=~s/.*?([^0]{1,4})0*$/$1/for 1..pop;print chop$x |
| Aaaand it's a start | |||
| 66.18 | me ELOISE | Sat Aug 3 04:33:39 2002 | $_=1;for$i(1..pop){$_*=$i;/(.{0,5}?.)0*$/;$_=$1}/(.)$/;print"$1
" |
| 67.08 | Andrew Farnsworth | Thu Aug 1 20:59:08 2002 | -l $z=1;for(1..$zRGV[0]){$z=$_*substr$z,-6;$z=~s|0*$||}print chop$z |
| 69.10 | Jeremy Madea | Fri Aug 2 00:58:14 2002 | -l $}=1;for(1..shift){$}*=$_;$}=~/([1-9]{1,4})0*$/;$}=$1}print chop$} |
| 70.14 | Dave Hoover | Thu Aug 1 20:09:29 2002 | -l $_=1;for $a(1..pop){$_*=$a;s/.*?([^0]{1,4})0*$/$1/}print/([^0])0*$/ |
| Still figuring out the right approach... | |||
| 77.10 | David Fannin | Wed Aug 7 20:11:21 2002 | -l $x=1;$i=pop;$i?do{for(1..$i){$x*=$_;print $x}}:1;$x=~/([^0])0*$/&&print $1 |
| Fails for all tests above 0... | |||
| 81.12 | Dave Hoover | Thu Aug 1 19:44:29 2002 | -l sub f{$_[0]?f($_[0]-1)=~/([^0]{1,4})0*$/&&$_[0]*$1:1}print f(pop)=~/([^0])0*$/ |
| First entry. This is a great hole! | |||
| 138.08 | Keith Calvert Ivey | Sun Aug 4 02:02:51 2002 | -l sub'_{my($m,$n)=@_;$m=~s/.//||return;my$o=$&;my($p,$q)=split$o,$n;_(substr($m,0,length$p),$p)._(substr($m,length$p),$q).$o}print+_@ARGV |
| Somehow I don't think this is ever going to get down to a reasonable length, but at least it works. |