All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > General > Word Problems
Numbered Letters (Posted on 2003-07-17) Difficulty: 3 of 5
If each letter has a value (a=1, b=2, c=3 etc.) what words have a total letter value of exactly 100 when you add up all of the letters?

Are there any words that equal 100 if the letter values are swapped (z=1, y=2.....a=26)?

See The Solution Submitted by Lewis    
Rating: 3.2857 (7 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
re(3): challenge | Comment 14 of 28 |
(In reply to re(2): challenge by fwaff)

Without the word "and", I also don't think such a thing is possible. The following program verifies this for numbers 1 through 100,000. After that, I can't see any number words adding up to the value of the number itself as the size in words grows approximately as the size in digits, which is only logarithmically related to the value of the number.

DECLARE SUB enterNum ()
DECLARE SUB ProcPiece (piece$, MajorPower!)
DATA one,two,three,four,five,six,seven,eight,nine
DATA ten,eleven,twelve,thirteen,fourteen,fifteen,sixteen,seventeen
DATA eighteen,nineteen
DATA twenty,thirty,forty,fifty,sixty,seventy,eighty,ninety
DATA thousand,million,billion,trillion,quadrillion,quintillion,sextillion
DIM SHARED unit$(19), ten$(10), major$(7)
FOR i = 1 TO 19
  READ unit$(i)
NEXT
FOR i = 2 TO 9
  READ ten$(i)
NEXT
FOR i = 1 TO 7
  READ major$(i)
NEXT
DIM SHARED name$, num$
FOR n = 1 TO 100000
        num$ = LTRIM$(STR$(n))
' enterNum
        IF num$ = "0" THEN
                name$ = "zero"
        ELSE
                name$ = ""
                MajorPower = 0
                DO
                        l = LEN(num$): IF l > 3 THEN l = 3
                        piece$ = RIGHT$(num$, l)
                        num$ = LEFT$(num$, LEN(num$) - l)
                        CALL ProcPiece(piece$, MajorPower)
                        MajorPower = MajorPower + 1
                LOOP WHILE LEN(num$) > 0
        END IF
        tVal = 0
        FOR i = 1 TO LEN(name$)
          lt$ = MID$(name$, i, 1)
          IF INSTR("abcdefghijklmnopqrstuvwxyz", lt$) > 0 THEN
            tVal = tVal + ASC(lt$) - ASC("a") + 1
          END IF
        NEXT
        IF tVal = n THEN PRINT n
' IF tVal = 100 THEN PRINT n
NEXT

SUB enterNum
 DO
  INPUT "Enter number:", num$
  num$ = LTRIM$(RTRIM$(num$))
  num = 1
  FOR i = 1 TO LEN(num$)
    IF INSTR("0123456789", MID$(num$, i, 1)) = 0 THEN num = 0: EXIT FOR
  NEXT
  IF num = 0 THEN PRINT "Must be numeric."
 LOOP WHILE num = 0
END SUB

SUB ProcPiece (piece$, MajorPower)
  piece = VAL(piece$)
  n$ = ""
  IF piece > 99 THEN
    n$ = unit$(piece \ 100) + " hundred "
    piece = piece MOD 100
  END IF
  IF piece > 19 THEN
    n$ = n$ + ten$(piece \ 10)
    piece = piece MOD 10
    IF piece > 0 THEN n$ = n$ + "-": ELSE n$ = n$ + " "
  END IF
  IF piece > 0 THEN n$ = n$ + unit$(piece) + " "
  IF n$ > "" THEN name$ = n$ + major$(MajorPower) + " " + name$
END SUB


  Posted by Charlie on 2003-07-18 09:42:16

Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (3)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information