# Find the rule that assigns numbers to words

I have devised a rule that assigns a positive integer to each English word. Here is a list of words and the integers the rule assigns them.

Word Integer Word Integer Word Integer
atmosphere 3 a 1 ab 3
day 2 beret 1 ad 1
eclipse 7 cheaters 6 bag 1
geology 4 coins 2 banana 5
heavy 3 dad 5 bann 3
inflation 1 fad 2 hear 4
neanderthal 3 hectares 6 her 3
parsimoniously 4 highways 1 males 1
span 1 I 5 prevent 1
zealous 8 laziness 2 snap 1
lid 1 thorny 1
transportation 2

The rule can be described in a single sentence.

What is my rule?

Edit: I have chosen some additional words and computed the numbers the rule assigns them. Also, find some hints below.

Hint 1:

It is unlikely you will find a word in the dictionary that is assigned a value larger than 10. However, the rule is defined for arbitrary strings of English letters, and it is possible write down strings with arbitrarily large output. To get an output of 11 requires a string of at least 16 characters, and the 16 character string with output 11 that comes first alphabetically is "dzzzzzzzzzzzzzzz".

Hint 2:

It might be useful to start by figuring out what the words assigned 1 have in common.

Hint 3:

The US coins are: penny (1¢), nickel (5¢), dime (10¢), quarter (25¢), half dollar (50¢), and dollar (100¢). This is relevant.

Hint 4:

The rule assigns anagrams the same number.

Hint 5:

The rule does not depend on any of the following:
Case, font, keyboard layout, letter frequency, word meaning

Hint 6:

The longest string that the rule assigns 1 has one hundred letters.

• What is the highest the integer assigned can be? Or is that a secret?
– JLee
May 29, 2015 at 3:04
• @JLee Let me leave that secret for right now. I might add that information as a hint after a while. May 29, 2015 at 3:25
• The meaning of the words does not matter. The output is always strictly positive, never zero. May 29, 2015 at 12:59
• I got nowhere using scrabble scoring May 29, 2015 at 17:09
• @TroyAndAbed No, each word determines one (and only one) value Jun 2, 2015 at 15:16

• If you guys want to try this method out, use this code (JavaScript): function SOLVE(v){x="abcdefghijklmnopqrstuvwxyz".split("");v=v.split("");for(i=0,a=0;i<v.length;i++)a+=x.indexOf(v[i])+1;return c(a);}function c(a,f=Math.floor){S=f(a/100);a-=S*100;T=f(a/50);a-=T*50;U=f(a/25);a-=U*25;V=f(a/10);a-=V*10;W=f(a/5);a-=W*5;S+T+U+V+W+a;} and enter SOLVE("<your word>"). This code disregards any non-lowercase, alphabetical, English letters. Jun 7, 2015 at 23:10