My second grader came home today with a bizzare homework problem:
Using a simple substitution cipher, where A=1, B=2, etc., define the value of a word to be the sum of its letters.
So far, so good.
But the assignment was to come up with a word ... worth exactly 65 points.
Really? C'mon, that's work for a computer, not a human.
Specifically, work for Perl. More specifically, a one-liner.
Which means it's good for a little golf! Here's my offering, finding 65-point words in the unix dictionary, in 93 bytes:
#23456789_123456789_123456789_123456789_123456789_123456789_123456789_ +123456789_123456789_123 perl -nle '$t=0;for $n (0..(length()-1)){$t+=(ord(lc substr($_,$n,1))- +96)}print if $t == 65;' /usr/share/dict/words
Update: Huge thanks to everyone who participated! I learned something new from each and every entry, which was at once rewarding and humbling. May I never stumble across any of this in production code! :-)
In reply to Homework Golf by McD
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |