Black formatting
This commit is contained in:
parent
c99257d48f
commit
36c1ff20a4
@ -11,14 +11,40 @@ https://projecteuler.net/problem=17
|
|||||||
|
|
||||||
from utils import timeit
|
from utils import timeit
|
||||||
|
|
||||||
|
|
||||||
def num2letters(num):
|
def num2letters(num):
|
||||||
nums = {0: '', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five',
|
nums = {
|
||||||
6: 'six', 7: 'seven', 8: 'eight', 9: 'nine', 10: 'ten',
|
0: "",
|
||||||
11: 'eleven', 12: 'twelve', 13: 'thirteen', 14: 'fourteen',
|
1: "one",
|
||||||
15: 'fifteen', 16: 'sixteen', 17: 'seventeen', 18: 'eighteen',
|
2: "two",
|
||||||
19: 'nineteen', 20: 'twenty', 30: 'thirty', 40: 'forty',
|
3: "three",
|
||||||
50: 'fifty', 60: 'sixty', 70: 'seventy', 80: 'eighty',
|
4: "four",
|
||||||
90: 'ninety', 100: 'hundred', 1000: 'thousand'}
|
5: "five",
|
||||||
|
6: "six",
|
||||||
|
7: "seven",
|
||||||
|
8: "eight",
|
||||||
|
9: "nine",
|
||||||
|
10: "ten",
|
||||||
|
11: "eleven",
|
||||||
|
12: "twelve",
|
||||||
|
13: "thirteen",
|
||||||
|
14: "fourteen",
|
||||||
|
15: "fifteen",
|
||||||
|
16: "sixteen",
|
||||||
|
17: "seventeen",
|
||||||
|
18: "eighteen",
|
||||||
|
19: "nineteen",
|
||||||
|
20: "twenty",
|
||||||
|
30: "thirty",
|
||||||
|
40: "forty",
|
||||||
|
50: "fifty",
|
||||||
|
60: "sixty",
|
||||||
|
70: "seventy",
|
||||||
|
80: "eighty",
|
||||||
|
90: "ninety",
|
||||||
|
100: "hundred",
|
||||||
|
1000: "thousand",
|
||||||
|
}
|
||||||
|
|
||||||
if num <= 20:
|
if num <= 20:
|
||||||
return len(nums[num])
|
return len(nums[num])
|
||||||
@ -28,14 +54,16 @@ def num2letters(num):
|
|||||||
elif num < 1000:
|
elif num < 1000:
|
||||||
hundreds, rest = divmod(num, 100)
|
hundreds, rest = divmod(num, 100)
|
||||||
if rest:
|
if rest:
|
||||||
return num2letters(hundreds) + len(nums[100]) + len('and') +\
|
return (
|
||||||
num2letters(rest)
|
num2letters(hundreds) + len(nums[100]) + len("and") + num2letters(rest)
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
return num2letters(hundreds) + len(nums[100])
|
return num2letters(hundreds) + len(nums[100])
|
||||||
else:
|
else:
|
||||||
thousands, rest = divmod(num, 1000)
|
thousands, rest = divmod(num, 1000)
|
||||||
return num2letters(thousands) + len(nums[1000])
|
return num2letters(thousands) + len(nums[1000])
|
||||||
|
|
||||||
|
|
||||||
@timeit("Problem 17")
|
@timeit("Problem 17")
|
||||||
def compute():
|
def compute():
|
||||||
"""
|
"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user