Post Reply 
challenge
01-19-2015, 07:22 PM (This post was last modified: 01-19-2015 07:23 PM by Thomas Klemm.)
Post: #2
RE: challenge
I've started with this in Python:
Code:
units = ['','one','two','three','four','five','six','seven','eight','nine']
teens = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']
tens  = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']

def number_to_text(t, h, z, e):
  if t + h + z + e == 0:    
    return 'zero'
  text =  units[t] + 'thousand' if t > 0 else ''
  text += units[h] + 'hundred'  if h > 0 else ''
  if z == 1:                     
    text += teens[e]             
  else:                          
    text += tens[z] + units[e]   
  return text                    

ten = range(10)

count = 0
for t in ten:
  for h in ten:
    for z in ten:
      for e in ten:
        text = number_to_text(t, h, z, e)
        length, n = len(text), 10*(10*(10*t + h) + z) + e
        if n % length == 0:
          # print n, text, length
          count += 1

print count

But as we are only interested in the number of letters we can use these instead:
Code:
units_len = [0, 3, 3, 5, 4, 4, 3, 5, 5, 4]
teens_len = [3, 6, 6, 8, 8, 7, 7, 9, 8, 8]
tens_len  = [0, 0, 6, 6, 5, 5, 5, 7, 6, 6]

zero_len = 4
hundred_len = 7
thousand_len = 8

def length_of_number(t, h, z, e):
  if t + h + z + e == 0:    
    return zero_len
  length =  units_len[t] + thousand_len if t > 0 else 0
  length += units_len[h] + hundred_len  if h > 0 else 0
  if z == 1:                     
    length += teens_len[e]             
  else:                          
    length += tens_len[z] + units_len[e]   
  return length                    

ten = range(10)

count = 0
for t in ten:
  for h in ten:
    for z in ten:
      for e in ten:
        length, n = length_of_number(t, h, z, e), 10*(10*(10*t + h) + z) + e        
        if n % length == 0:
          # print n, length
          count += 1

print count

In my program zero is included thus you have to subtract 1 from the result.
Not in RPL and not a one-liner, I know.

Cheers
Thomas
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
challenge - Don Shepherd - 01-19-2015, 03:06 PM
RE: challenge - Thomas Klemm - 01-19-2015 07:22 PM
RE: challenge - Don Shepherd - 01-19-2015, 09:00 PM
RE: challenge - Gilles - 01-19-2015, 09:08 PM
RE: challenge - brickviking - 06-22-2018, 10:34 AM
RE: challenge - grsbanks - 06-22-2018, 10:40 AM
RE: challenge - Don Shepherd - 06-22-2018, 01:17 PM
RE: challenge - Thomas Okken - 06-22-2018, 02:22 PM
RE: challenge - burkhard - 06-22-2018, 03:10 PM
RE: challenge - Don Shepherd - 06-22-2018, 04:31 PM
RE: challenge - Don Shepherd - 06-22-2018, 06:14 PM
RE: challenge - Thomas Klemm - 01-19-2015, 09:12 PM
RE: challenge - Thomas Klemm - 01-19-2015, 09:19 PM
RE: challenge - Gilles - 01-19-2015, 09:37 PM
RE: challenge - Don Shepherd - 01-19-2015, 10:24 PM
RE: challenge - Katie Wasserman - 01-19-2015, 10:32 PM
RE: challenge - Don Shepherd - 01-19-2015, 10:52 PM
RE: challenge - Gilles - 01-19-2015, 10:55 PM
RE: challenge - Hlib - 01-20-2015, 06:10 PM
RE: challenge - Gilles - 01-21-2015, 10:07 PM
RE: challenge - Hlib - 01-22-2015, 10:10 AM
RE: challenge - Hlib - 01-21-2015, 04:03 PM
RE: challenge - Don Shepherd - 01-21-2015, 04:14 PM
RE: challenge - Don Shepherd - 01-21-2015, 09:32 PM
RE: challenge - Gilles - 01-21-2015, 09:10 PM
RE: challenge - Hlib - 06-21-2018, 02:43 PM
RE: challenge - Paul Dale - 06-22-2018, 12:38 AM
RE: challenge - Don Shepherd - 06-22-2018, 01:25 AM
RE: challenge - grsbanks - 06-22-2018, 06:59 AM
RE: challenge - ijabbott - 06-22-2018, 07:24 AM
RE: challenge - grsbanks - 06-22-2018, 07:32 AM
RE: challenge - ijabbott - 06-22-2018, 04:26 PM
RE: challenge - Hlib - 06-22-2018, 10:08 PM
RE: challenge - Don Shepherd - 06-23-2018, 12:15 AM
RE: challenge - ijabbott - 06-23-2018, 09:20 AM
RE: challenge - Don Shepherd - 06-23-2018, 10:13 AM
RE: challenge - grsbanks - 06-23-2018, 10:22 AM
RE: challenge - Don Shepherd - 06-23-2018, 10:42 AM
RE: challenge - grsbanks - 06-23-2018, 10:48 AM
RE: challenge - Massimo Gnerucci - 06-23-2018, 12:45 PM
RE: challenge - Thomas Okken - 06-23-2018, 04:49 PM
RE: challenge - Massimo Gnerucci - 06-23-2018, 06:41 PM
RE: challenge - grsbanks - 06-23-2018, 07:38 PM
RE: challenge - Massimo Gnerucci - 06-23-2018, 08:42 PM



User(s) browsing this thread: 4 Guest(s)