The first 26 primes (2, 3, 5, ...) can be put in correspondence with the
letters A through
Z, so the common English word
CAB would be the
product 5 * 2 * 3 = 30. Using this code, what´s your guess to a common English word that comes closest to a million ? I found one very, very close. Can you beat mine ?
To help you, here are the 26 first primes and their correspondence to the alphabet :
2  A 3  B 5  C 7  D 11  E
13  F 17  G 19  H 23  I 29  J
31  K 37  L 41  M 43  N 47  O
53  P 59  Q 61  R 67  S 71  T
73  U 79  V 83  W 89  X 97  Y 101  Z
DEFDBL AZ
DATA 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101
DIM prime(26)
FOR i = 1 TO 26: READ prime(i): NEXT
best = 1000000
OPEN "\words\words.txt" FOR INPUT AS #1
DO
LINE INPUT #1, w$
w2$ = LCASE$(w$)
t = 1
FOR i = 1 TO LEN(w2$)
t = t * prime(ASC(MID$(w2$, i, 1))  ASC("a") + 1)
NEXT
diff = ABS(1000000  t)
IF diff < best THEN best = diff: b$ = w$: v = t: PRINT b$, best, v
LOOP UNTIL EOF(1)
CLOSE
finds the best word is colic, with the value 999,925.

Posted by Charlie
on 20050718 04:48:30 