Drexel dragonThe Math ForumDonate to the Math Forum

Ask Dr. Math - Questions and Answers from our Archives
_____________________________________________
Associated Topics || Dr. Math Home || Search Dr. Math
_____________________________________________

Rameses' Pyramid


Date: 12/10/97 at 16:37:59
From: Hugo Mckeill
Subject: Rameses' Pyramid

Rameses wishes to build a great pyramid for his interment. The 
structure will have a square base and be solidly composed of cubical 
stone blocks. Each level of the pyramid contains one less block per 
side as the pyramid rises. Rameses has available an initial work force 
of 35,000 slaves. Each morning the available labor pool is divided 
into work crews of 17 slaves each. Any remainder that cannot form a 
full crew gets the day off but are available the following day. Each 
crew can lay one block of the pyramid each day. Unfortunately, the 
heat of the desert sun causes the death of one member of each crew 
each day. Work ceases on the project when it can be determined that 
there will not be enough slaves available to raise the pyramid one 
more level. Each stone block measures 3 meters per side.

How many days will it take to construct Rameses' pyramid? How tall 
will it be? How many of the original slaves survive the construction?

This is a huge puzzle. I hope you can help me because I`m really 
stuck. I know that there must be at most 34983, but I can`t get any
farther. 

Thanks, Hugo


Date: 12/11/97 at 13:32:59
From: Doctor Jerry
Subject: Re: Rameses' Pyramid

Hi Hugo,

You didn't give the dimensions of the first layer, but given that the 
Great Pyramid is 230.4 meters on a side, I'll assume that the first 
layer has 76*76 = 5776 stones in it (230.4/3=76.8). So, the number of 
stones in the k th layer is L(k) = (76-(k-1))^2, k=1,2,...76.

The number of stones laid on day j is equal to the number c(j) of 
crews available on day j, where c(j) = Quotient(35000-(j-1),17) and 
Quotient(n, m) is the integer quotient of n and m. We leave the domain 
of c open for the moment. We'll see that we don't need to think about 
it.

Now let T(r) be the number of days required to complete layers 1 
through r, so that T(1) would be the least positive integer for which 
c(1)+c(2)+...+c(T(1)) is equal to or greater than L(1); T(2) would be 
the least positive integer for which c(1)+c(2)+...+c(T(2)) is equal to 
or greater than L(1)+L(2); and so on. Here's a table of values of 
{k,T(k)}, as computed by Mathematica.

{{1,3},{2,6},{3,9},{4,11},{5,14},{6,16},{7,19},{8,21},{9,23},{10,25},
{11,28},{12,30},{13,32},{14,33},{15,35},{16,37},{17,39},{18,41},
{19,42},{20,44},{21,45},{22,47},{23,48},{24,50},{25,51},{26,52},
{27,53},{28,55},{29,56},{30,57},{31,58},{32,59},{33,60},{34,61},
{35,61},{36,62},{37,63},{38,64},{39,65},{40,65},{41,66},{42,66},
{43,67},{44,68},{45,68},{46,68},{47,69},{48,69},{49,70},{50,70},
{51,70},{52,71},{53,71},{54,71},{55,71},{56,72},{57,72},{58,72},
{59,72},{60,72},{61,72},{62,73},{63,73},{64,73},{65,73},{66,73},
{67,73},{68,73},{69,73},{70,73},{71,73},{72,73},{73,73},{74,73},
{75,73},{76,73}}

Here are some simpler numbers with which the above display can be 
checked partially.

L[1] = 5776

Table[{j,c[j],Pc[j]},{j,1,4}]//TableForm

{{"1", "2058", "2058"},
        {"2", "2058", "4116"},
        {"3", "2058", "6174"},
        {"4", "2058", "8232"}},
      
So, it is clear that T[1] = 3

L[1]+L[2] = 11401

Table[{j,c[j],Pc[j]},{j,1,7}]//TableForm

        {{"1", "2058", "2058"},
        {"2", "2058", "4116"},
        {"3", "2058", "6174"},
        {"4", "2058", "8232"},
        {"5", "2058", "10290"},
        {"6", "2058", "12348"},
        {"7", "2058", "14406"}},
      
So, T(2) = 6.  Unless I've made some fundamental or lesser mistakes 
(which is always possible), the remainder of the problem isn't bad.

What do you think?

-Doctor Jerry,  The Math Forum
 Check out our web site!  http://mathforum.org/dr.math/   


Date: 12/12/97 at 17:00:01
From: Doctor Jerry
Subject: Re: Rameses' Pyramid

Hi Hugo,

Here's my second try.  I hope you are still interested. You didn't 
give the dimensions of the first layer, but given that the Great 
Pyramid is 230.4 meters on a side, I'll assume that the first layer 
has 76*76 = 5776 stones in it (230.4/3 = 76.8). So, the number of 
stones in the k th layer is L(k) = 
(76-(k-1))^2, k = 1,2,...76.

If we know the number s[n] of slaves available on the nth day, then 
the number c[n] of crews is c[n] = Quotient[s[n],17], n=1,2,... . 
Note: Quotient[n, m] gives the integer quotient of n and m.  The 
number s[n] of slaves can be written as s[n]=s[n-1]-c[n-1], n=2,3,..., 
and s[1]=35000 .  

You can check the  following values:

Table[{k,s[k],c[k]},{k,1,4}]

= {{1,35000,2058},{2,32942,1937},{3,31005,1823},{4,29182,1716}}

Stones[k] is the number of stones needed to fill the kth level, 
k = 1,2,...,76.

Clear[Stones];Stones[k_]:=(76-(k-1))^2;

SigStones[k] is the number of stones needed to fill levels 1 
through k.

Clear[SigStones];SigStones[k_]:=Sum[Stones[j],{j,1,k}];

Note that the number of crews available on a given day is equal to the 
number of stones that can be placed on that day. From the calculation

Table[c[j],{j,130,139}]

={1,1,1,1,1,1,1,0,0,0}

we note that the largest number of stones that can be placed is equal 
to

Sum[c[j],{j,1,136}]

= 34984Since

Table[SigStones[j],{j,1,7}]

={5776,11401,16877,22206,27390,32431,37331}
we cannot go past the sixth level.

Let's imagine a list {s(1),s(2),...,s(34984)} of the stones.  This 
list can be partitioned into level-blocks. The first level-block is a 
list of the stones required to fill the first level. This can be 
described in terms of an integer LB(1), where the first level is made 
up of stones s(1),...,s(LB(1)). The second level-block would be stones 
s(LB(1)+1),...,s(LB(2)). And so on. We calculate the level-block 
numbers. If we run out of stones at any stage, we set that level-block 
number equal to 0.

Since 

Stones[1]

=5776

and there are 34984 stones available to fill this first level, 
LB(1)=5776. 

Here's a command/program with which we can calculate the level-block 
numbers. The programming term "Block" has nothing to do with the 
level-blocks mentioned above. You may be able to follow the logic of 
the program - the language is similar to Pascal.

Clear[LB];
LB[k_]:=Block[{bn},If[LB[k-1]==0,bn=0];
    If[34984-LB[k-1]>=Stones[k],bn=LB[k-1]+Stones[k],bn=
0];Return[bn]];
LB[1]=5776;

Table[{j,LB[j],Stones[j]},{j,1,7}]

=
{{1,5776,5776},{2,11401,5625},{3,16877,5476},{4,22206,5329},
{5,27390,5184},{6,32431,5041},{7,0,4900}}

So, now we know that work goes on until levels 1 through 6 are filled.  
Work ceases at this point. To figure out the number of days we start 
by looking at some data.

Table[{j,Sum[c[k],{k,1,j}]},{j,1,10}]

=
{{1,2058},{2,3995},{3,5818},{4,7534},{5,9149},{6,10669},{7,12100},
{8,13447},{9,14714},{10,15907}}

So, at the end of day 3, 5818 stones will have been placed. This more 
than finishes the first layer (5776). At the end of day 7, 12100 
stones will have been placed. This more than finishes the second layer 
(5776+5625 = 11601). We assume that if a layer is completed during a 
day and the next layer can be eventually completed, then work 
continues on the next layer. However, if the next layer can not be 
completed at any time in the future, work stops with the completed 
layer. However, we assume that the slaves die on that last day as 
usual, so that the number of surviving slaves will be s[n+1], 
where n is the last day of work. So, we seek the first j so that 
SigStones[6]-Sum[c[k],{k,1,j}]<0.

LD=Table[SigStones[6]-Sum[c[k],{k,1,j}],{j,1,45}]

={30373,28436,26613,24897,23282,21762,20331,18984,17717,16524,15401,
14344,
  
13350,12414,11533,10704,9924,9190,8499,7848,7236,6660,6118,5607,5127,
4675,
  
4249,3848,3471,3116,2782,2468,2172,1894,1632,1385,1153,935,729,535,
353,182,21,-131,-274}

So, it appears that on day 44 work ceases. We calculate s[45].

s[45]

= 2438

This is the number of slaves left.

Well, you know that I make mistakes.  Hopefully, there are no bad ones 
here.  Thanks for this interesting problem.

-Doctor Jerry,  The Math Forum
 Check out our web site!  http://mathforum.org/dr.math/   
    
Associated Topics:
High School Puzzles

Search the Dr. Math Library:


Find items containing (put spaces between keywords):
 
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

_____________________________________
Math Forum Home || Math Library || Quick Reference || Math Forum Search
_____________________________________

Ask Dr. MathTM
© 1994-2013 The Math Forum
http://mathforum.org/dr.math/