Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for The Secret Room by David_Jones
ONES = ['', 'one', 'two', 'three', 'four',
'five', 'six', 'seven', 'eight', 'nine',
'ten', 'eleven', 'twelve', 'thirteen', 'fourteen',
'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']
DOZENS = ['', '', 'twenty', 'thirty', 'forty',
'fifty', 'sixty', 'seventy', 'eighty', 'ninety']
def number_to_words(x):
if x > 999:
return 'one thousand'
words = []
i, x = divmod(x, 100)
if i:
words.append(ONES[i])
words.append('hundred')
if x < 20:
words.append(ONES[x])
else:
i, x = divmod(x, 10)
words.append(DOZENS[i])
words.append(ONES[x])
return ' '.join(words).strip()
def secret_room(number):
d = {}
for i in range(1, number + 1):
d[number_to_words(i)] = i
return sorted(d).index(number_to_words(number)) + 1
May 6, 2019