mirror of
https://github.com/correl/euler.git
synced 2024-11-27 19:19:50 +00:00
62 lines
1.1 KiB
Python
62 lines
1.1 KiB
Python
|
NUMBERS = [
|
||
|
'',
|
||
|
'one',
|
||
|
'two',
|
||
|
'three',
|
||
|
'four',
|
||
|
'five',
|
||
|
'six',
|
||
|
'seven',
|
||
|
'eight',
|
||
|
'nine'
|
||
|
]
|
||
|
TENS = [
|
||
|
'n/a',
|
||
|
'n/a',
|
||
|
'twenty',
|
||
|
'thirty',
|
||
|
'forty',
|
||
|
'fifty',
|
||
|
'sixty',
|
||
|
'seventy',
|
||
|
'eighty',
|
||
|
'ninety'
|
||
|
]
|
||
|
TEENS = [
|
||
|
'ten',
|
||
|
'eleven',
|
||
|
'twelve',
|
||
|
'thirteen',
|
||
|
'fourteen',
|
||
|
'fifteen',
|
||
|
'sixteen',
|
||
|
'seventeen',
|
||
|
'eighteen',
|
||
|
'nineteen'
|
||
|
]
|
||
|
|
||
|
def format(n):
|
||
|
s = []
|
||
|
if n // 1000:
|
||
|
s.append(NUMBERS[n // 1000] + ' thousand')
|
||
|
n = n % 1000
|
||
|
if n // 100:
|
||
|
s.append(NUMBERS[n // 100] + ' hundred')
|
||
|
nn = n % 100
|
||
|
if n // 100 and nn:
|
||
|
s.append('and')
|
||
|
if nn // 10:
|
||
|
if nn < 20:
|
||
|
s.append(TEENS[nn % 10])
|
||
|
else:
|
||
|
s.append(TENS[nn // 10] + ('-' + NUMBERS[nn % 10] if nn % 10 else ''))
|
||
|
else:
|
||
|
s.append(NUMBERS[nn % 10])
|
||
|
return ' '.join(s)
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
chars = []
|
||
|
for i in range(1, 1001):
|
||
|
chars = chars + list(format(i).replace(' ', '').replace('-', ''))
|
||
|
print 'Chars:', len(chars)
|