mirror of
https://github.com/correl/euler.git
synced 2024-11-23 19:19:53 +00:00
Problem 17
git-svn-id: file:///srv/svn/euler@42 e5f4c3ec-3c0c-11df-b522-21efaa4426b5
This commit is contained in:
parent
d4dd1310ea
commit
7c96dade88
1 changed files with 61 additions and 0 deletions
61
e017.py
Normal file
61
e017.py
Normal file
|
@ -0,0 +1,61 @@
|
|||
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)
|
Loading…
Reference in a new issue