Weekly Puzzle: Integer to English

Integer to English



For a given positive integer convert it into its English representation. All words are lower case and are separated with one space. No trailing spaces are allowed.

To keep it simple, hyphens and the writing of the word 'and' both aren't enforced. (But if you are looking for some extra challenge, such an output will pass the tests.)

Large number reference: http://en.wikipedia.org/wiki/Namesoflarge_numbers (U.S., Canada and modern British)

Input range: 1 -> 10**26 (10**16 for JS)

Submission Instructions

Complete the puzzle on CodeWars and then follow these instructions to get the link to your solution and email that link to weeklypuzzle@bloc.io or tweet it at @trybloc.
Submit by Friday March 25th 9am PST to be included.

Last Week's Result Shop Inventory Manager

Last week the challenge was to fix code for a store management system and add a new item:

The "Who's on First" award

Goes to Kevin Lowe. As well as being first, the code was clear and concise.