Project Euler Problem 17

Python

# add 1 to 9
answer = len('onetwothreefourfivesixseveneightnine')
len_1to9 = answer

# add 10 to 19
answer += len('teneleventwelvethirteenfourteenfifteensixteenseventeeneighteennineteen')

# add 20 to 99
answer += len('twenty') * 10 + len_1to9
answer += len('thirty') * 10 + len_1to9
answer += len('forty') * 10 + len_1to9
answer += len('fifty') * 10 + len_1to9
answer += len('sixty') * 10 + len_1to9
answer += len('seventy') * 10 + len_1to9
answer += len('eighty') * 10 + len_1to9
answer += len('ninety') * 10 + len_1to9
len_1to99 = answer

# add 100 to 999
answer += len('onehundred') * 100 + len('and') * 99 + len_1to99
answer += len('twohundred') * 100 + len('and') * 99 + len_1to99
answer += len('threehundred') * 100 + len('and') * 99 + len_1to99
answer += len('fourhundred') * 100 + len('and') * 99 + len_1to99
answer += len('fivehundred') * 100 + len('and') * 99 + len_1to99
answer += len('sixhundred') * 100 + len('and') * 99 + len_1to99
answer += len('sevenhundred') * 100 + len('and') * 99 + len_1to99
answer += len('eighthundred') * 100 + len('and') * 99 + len_1to99
answer += len('ninehundred') * 100 + len('and') * 99 + len_1to99

# add 1000
answer += len('onethousand')

print(answer)