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

Home > General > Word Problems
Scrabble numbers that score themselves (Posted on 2022-09-09) Difficulty: 4 of 5
If you place the word ELEVEN on a Scrabble board so that the second E hits a Triple Letter Score it will be worth exactly 11 points.

My Scrabble enthusiast mother, on her 70th birthday, said SEVENTY was worth 13. Being a Bingo, it's actually 63. If you triple the V or Y you get closer: 71. (This isn't actually possible because the way a Scrabble board is set up, in order to hit one TWS you have to hit the other.) You can't score 70 with SEVENTY.

Which number words can be worth their value when laid down on an actual Scrabble board?

For this exercise, don't worry about how you might score the word in an actual Scrabble game. Also, don't use blank tiles.

Refer to the tile distribution and scores
And also, remember to make sure your word will fit on an actual Scrabble Board

No Solution Yet Submitted by Jer    
No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
Solution computer solution (spoiler) Comment 1 of 1
clc,clearvars
Qty={'A',9; 'B',2; 'C',2; 'D',4; 'E',12; 'F',2; 'G',3; 'H',2; 'I',9; 'J',1; ...
 'K',1; 'L',4; 'M',2; 'N',6; 'O',8; 'P',2; 'Q',1; 'R',6; 'S',4; 'T',6; 'U',4; ...
 'V',2; 'W',2; 'X',1; 'Y',2; 'Z',1};

pt1={'A', 'E', 'I', 'O', 'U', 'L', 'N', 'S', 'T', 'R'};
pt2={'D', 'G'};
pt3={'B', 'C', 'M', 'P'};
pt4={'F', 'H', 'V', 'W', 'Y'};
pt5={'K'};
pt8= {'J', 'X'};
pt10={'Q', 'Z'};
pts={pt1;pt2;pt3;pt4;pt5;{};{};pt8;{};pt10};
for i=1:10
  for j=1:length(pts{i})
    n=pts{i}{j}-'A'+1;
    letters(n,:)=[i,Qty{n,2}];
  end
end
value=1; qty=2; % for second subscript into letters matrix
board{1}='T..d...T...d..T';
board{2}='.D...t...t...D.';  % upper case for word
board{3}='..D...d.d...D..';  % lower case for letter
board{4}='d..D...d...D..d';
board{5}='....D.....D....';
board{6}='.t...t...t...t.';
board{7}='..d...d.d...d..';
board{8}='T..d...D...d..T';
for n=3:120
  w=num2words(n);
  w=erase(w,' and ');
  w=erase(w,'-');
  w=erase(w,' ');
   
  [ct, lt]=groupcounts(w'-96);
  m=min(ct,letters(lt,2));
  if isequal(ct,m)
    for row=1:8
      for col=1:16-length(w)
        tot=0; wordmult='';
        for psn=1:length(w)
          v=letters(w(psn)-96,value);
          bd=board{row}(col+psn-1);
          if bd==upper(bd) && bd~='.'
            wordmult=[wordmult bd];
          elseif bd==lower(bd) && bd~='.'
            if bd=='d'
              v=2*v;
            else
              v=3*v;
            end
          end
          tot=tot+v;
          
        end
        if length(wordmult)>0
          if wordmult(1)=='D'
            tot=tot*2;
          else
            tot=tot*3;
          end
        end
        if length(w)==7
    %      tot=tot+50;
        end
        if tot==n
          fprintf('%15s %5d %5d\n',w,row,col);
        end
      end
    end
  end
end

Note the bonus for exactly 7 letters is commented out. Words of more than 7 letters are allowed. Hyphens are not used.

In the table below, words are written horizontally on the board and start at the given row and column. Only the top half and the middle row of the board are used, as symmetry allows us to ignore the bottom half.

                   starting
      Number word  row   col
         eleven     2     4
         eleven     2     8
         eleven     3     5
         eleven     3     7
         eleven     6     4
         eleven     6     8
         eleven     7     2
         eleven     7     3
         eleven     7     5
         eleven     7     7
         eleven     7     8
         eleven     7     9
       thirteen     3     4
       thirteen     3     5
       thirteen     7     1
       thirteen     7     4
       thirteen     7     5
       fourteen     7     2
       fourteen     7     6
        fifteen     2     3
        fifteen     2     7
        fifteen     3     4
        fifteen     3     6
        fifteen     6     3
        fifteen     6     7
        fifteen     7     2
        fifteen     7     4
        fifteen     7     6
        fifteen     7     8
        sixteen     2     3
        sixteen     2     7
        sixteen     3     4
        sixteen     3     6
        sixteen     6     3
        sixteen     6     7
        sixteen     7     2
        sixteen     7     4
        sixteen     7     6
        sixteen     7     8
        sixteen     7     9
       eighteen     2     4
       eighteen     6     4
       eighteen     6     8
       eighteen     7     6
         twenty     7     2
         twenty     7     8
      twentyone     6     2
      twentyone     6     6
      twentyone     7     6
      twentytwo     2     4
      twentytwo     6     4
    twentythree     7     1
    twentythree     7     5
      twentysix     2     3
      twentysix     2     4
      twentysix     6     3
      twentysix     6     4
      twentysix     6     7
      thirtyone     2     5
      thirtyone     6     1
      thirtyone     6     5
       fortytwo     3     1
       fortytwo     4     2
       fortytwo     4     4
       fortytwo     8     4
       fortytwo     8     6
       fortytwo     8     8
      fortyfour     4     3
      fortyfour     4     4
      fortyfour     8     7
       fortysix     2     1
       fortysix     2     7
       fortysix     2     8
       fortysix     3     6
     fortyeight     2     1
     fortyeight     2     5
     fortyeight     4     4
       fiftysix     4     4
       fiftysix     4     6
       fiftysix     8     2
       fiftysix     8     4
       fiftysix     8     8
     fiftyeight     4     1
      sixtyfour     2     2
      sixtyfour     2     6
     sixtyeight     2     6
     seventytwo     1     4
    seventyfive     1     4

For example:

         twenty     7     2
         
         1               1
         4  *  2    =    8
         1               1
         1               1
         1               1
         4  *  2    =    8
                       ----
                        20
                        
Only one number, 66, was rejected solely for not having enough of the required letters available. It would have been

       sixtysix     2     2
       sixtysix     4     6
       sixtysix     8     2
       sixtysix     8     5
       
but was caught by the code

  [ct, lt]=groupcounts(w'-96);
  m=min(ct,letters(lt,2));
  if isequal(ct,m)
        ...

  Posted by Charlie on 2022-09-09 11:42:36
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 (10)
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