Input: an integer N between 1 and 151
Output: the Nth Pokemon.
You may use one data file.
You may not use any already made data decompression algorithms. This includes libraries and other programs.
Your program may not access files other than itself and your data file.
Your score is the sum of the length of your code and data file.
Here's a list of the first 151 pokemon to help you generate your data file. Your output should exactly match the Nth line of this file.
Here's an example solution in Python with score 176 + 901 = 1077 (not very good, but at least shorter than the entire list of pokemon which is 1258 characters)
s=open('a','rb').read() z='\n \'().ABCDEFGHIJKLMNOPRSTVWZabcdefghiklmnopqrstuvwxyz' i=0 for c in s:i=i*256+ord(c) s='' while i>0:s+=z[i%53];i/=53 print s.split('\n')[input()-1]
With this data file called
Basically all it does is remove unused characters, so there are definitely better compression methods.
>echo 12 | python pokemon.py Butterfree