randRange( 20, 50 ) randRange( 20, 40 ) START + ANSWER - 1 spin( "{do,did,done,problem|read,read,read,{page|paper|article}}" ).split( "," ) plural( PROBLEM )

person( 1 ) {had to DO|was assigned} PROBLEMS START through END for homework {{last {week|night}}|tonight}.

If person( 1 ) DID all of the PROBLEMS he was assigned, how many PROBLEMS did he DO?

If person( 1 ) DID all of the PROBLEMS she was assigned, how many PROBLEMS did she DO?

ANSWER PROBLEMS

Instead of counting PROBLEMS START through END, we can subtract START - 1 from each number so we can count the PROBLEMS starting from 1.

\qquad \array{ \hspace{40px} & \hspace{40px} & \hspace{40px} & \hspace{40px} & \\ \color{GREEN}{START} & \color{GREEN}{START + 1} & \color{GREEN}{START + 2} & & \color{GREEN}{END} \\ \color{BLUE}{\downarrow} & \color{BLUE}{\downarrow} & \color{BLUE}{\downarrow} & & \color{BLUE}{\downarrow} \\ \color{BLUE}{\llap{-}START-1} & \color{BLUE}{\llap{-}START-1} & \color{BLUE}{\llap{-}START-1} & \cdots\hphantom{-} & \color{BLUE}{\llap{-}START-1} \\ \color{BLUE}{\downarrow} & \color{BLUE}{\downarrow} & \color{BLUE}{\downarrow} & & \color{BLUE}{\downarrow} \\ \color{PINK}{1} & \color{PINK}{2} & \color{PINK}{3} & & \color{PINK}{ANSWER} \\ }

Now instead of thinking about PROBLEMS START through END, we can think about how many PROBLEMS person( 1 ) would have DONE if he were assigned PROBLEMS 1 though ANSWER.

Now instead of thinking about PROBLEMS START through END, we can think about how many PROBLEMS person( 1 ) would have DONE if she were assigned PROBLEMS 1 though ANSWER.

When we think about it this way, we can see that person( 1 ) would have DONE ANSWER PROBLEMS. Hopefully it also makes sense why we can't just subtract the first problem number from the last problem number, since if person( 1 ) were assigned PROBLEMS 1 through ANSWER, he was assigned ANSWER PROBLEMS, not ANSWER-1.

When we think about it this way, we can see that person( 1 ) would have DONE ANSWER PROBLEMS. Hopefully it also makes sense why we can't just subtract the first problem number from the last problem number, since if person( 1 ) were assigned PROBLEMS 1 through ANSWER, she was assigned ANSWER PROBLEMS, not ANSWER-1.

person( 1 ) DID ANSWER PROBLEMS.

randRange( 5, 15 )

A baker has a whole {baguette|loaf of bread}.

How many cuts must {he|she} make to have exactly NUM even slices?

NUM -1 cuts

init({ range: [ [ -0.5, 17.5 ], [ -4, -0.5 ] ], scale: [ 27, 50 ] }); graph.loaf = raphael.set(); graph.labels = []; graph.drawLoaf = function( slices ) { var width = 10 + ( slices - 1 ) * 0.5; graph.loaf.remove(); jQuery.each( graph.labels, function() { this.remove(); }); style({ stroke: "black", fill: ORANGE, opacity: 0.3 }, function() { graph.loaf.push( arc([ 0.6, -2 ], 1, 90, 270, false ) ); graph.loaf.push( arc([ width - 0.6, -2 ], 1, 270, 90, false ) ); for ( var slice = 0; slice < slices; slice++ ) { if ( slice === 0 ) { graph.loaf.push( path([ [ 0.6, -1 ], [ 10 * ( slice + 1 ) / slices + slice * 0.5, -1 ], [ 10 * ( slice + 1 ) / slices + slice * 0.5, -3 ], [ 0.6, -3 ] ]) ); } else if ( slice === slices - 1 ) { graph.loaf.push( path([ [ 10 * ( slice + 1 ) / slices + slice * 0.5 - 0.6, -3 ], [ 10 * slice / slices + slice * 0.5, -3 ], [ 10 * slice / slices + slice * 0.5, -1 ], [ 10 * ( slice + 1 ) / slices + slice * 0.5 - 0.6, -1 ] ]) ); } else { graph.loaf.push( path([ [ 10 * slice / slices + slice * 0.5, -1 ], [ 10 * ( slice + 1 ) / slices + slice * 0.5, -1 ], [ 10 * ( slice + 1 ) / slices + slice * 0.5, -3 ], [ 10 * slice / slices + slice * 0.5, -3 ], [ 10 * slice / slices + slice * 0.5, -1 ] ]) ); } graph.labels.push( label( [ 10 * ( slice + 0.5 ) / slices + slice * 0.5, -2 ], slice+1, "", false ) .css({ fontWeight: "bold", opacity: 1 }) ); if ( slice !== 0 ) { graph.labels.push( label( [ 10 * slice / slices + slice * 0.5 - 0.2, -3 ], slice, "below", false ) .addClass( "hint_blue" ).css({ fontWeight: "bold", opacity: 1 }) ); } } }); return loaf; }; graph.drawLoaf( 2 );

One cut will make two slices.

graph.drawLoaf( 3 );

Two cuts will make three slices, and so on.

graph.drawLoaf( NUM );

Therefore, we need NUM - 1 cuts to make NUM slices.

randRange( 10, 20 )

person( 1 ) is building a straight fence, with posts one meter apart.

If the fence is LENGTH meters long, how many fence posts does he need?

If the fence is LENGTH meters long, how many fence posts does she need?

LENGTH + 1 fence posts

init({ range: [ [ -1, LENGTH + 1 ], [ -2, 3.5 ] ], scale: [ 475 / ( LENGTH + 2 ), 20 ] }); style({ stroke: null, fill: BLUE, opacity: 0.3 }, function() { path([ [ 0, 0 ], [ 0, 1.8 ], [ 1, 1.8 ], [ 1, 0 ], [ 0, 0 ] ]); }); style({ stroke: GREEN, strokeWidth: 3 }, function() { line( [ 0, 0 ], [ 0, 2 ] ); line( [ 1, 0 ], [ 1, 2 ] ); }); label( [ 0, 1.8 ], "1", "above", false ).css({ color: GREEN }); label( [ 1, 1.8 ], "2", "above", false ).css({ color: GREEN }); style({ stroke: BLUE, strokeWidth: 2 }, function() { graph.brace = path([ [ 0, -0.2 ], [ 0, -0.4 ], [ 0.5, -0.4 ], [ 0.5, -0.6 ], [ 0.5, -0.4 ], [ 1, -0.4 ], [ 1, -0.2 ] ]); }); graph.length = label( [ 0.5, -0.4 ], "1 meter", "below", false ).css({ color: BLUE });

If the fence is one meter long, he needs two posts (one for each end).

If the fence is one meter long, she needs two posts (one for each end).

style({ stroke: null, fill: BLUE, opacity: 0.3 }, function() { path([ [ 1, 0 ], [ 1, 1.8 ], [ 2, 1.8 ], [ 2, 0 ], [ 1, 0 ] ]); }); style({ stroke: GREEN, strokeWidth: 3 }, function() { line( [ 1, 0 ], [ 1, 2 ] ); line( [ 2, 0 ], [ 2, 2 ] ); }); label( [ 2, 1.8 ], "3", "above", false ).css({ color: GREEN }); graph.brace.remove(); graph.length.remove(); style({ stroke: BLUE, strokeWidth: 2 }, function() { graph.brace = path([ [ 0, -0.2 ], [ 0, -0.4 ], [ 1, -0.4 ], [ 1, -0.6 ], [ 1, -0.4 ], [ 2, -0.4 ], [ 2, -0.2 ] ]); }); graph.length = label( [ 1, -0.4 ], "2 meters", "below", false ).css({ color: BLUE });

If the fence is two meters long, then he needs three posts, and so on.

If the fence is two meters long, then she needs three posts, and so on.

for ( var x = 2; x < LENGTH; x++ ) { style({ stroke: null, fill: BLUE, opacity: 0.3 }, function() { path([ [ x, 0 ], [ x, 1.8 ], [ x + 1, 1.8 ], [ x + 1, 0 ], [ x, 0 ] ]); }); style({ stroke: GREEN, strokeWidth: 3 }, function() { line( [ x, 0 ], [ x, 2 ] ); line( [ x + 1, 0 ], [ x + 1, 2 ] ); }); label( [ x + 1, 1.8 ], x + 2, "above", false ).css({ color: GREEN }); } graph.brace.remove(); graph.length.remove(); style({ stroke: BLUE, strokeWidth: 2 }, function() { graph.brace = path([ [ 0, -0.2 ], [ 0, -0.4 ], [ LENGTH/2, -0.4 ], [ LENGTH/2, -0.6 ], [ LENGTH/2, -0.4 ], [ LENGTH, -0.4 ], [ LENGTH, -0.2 ] ]); }); graph.length = label( [ LENGTH / 2, -0.4 ], LENGTH + " meters", "below", false ).css({ color: BLUE });

Therefore, for his LENGTH meter fence, person( 1 ) needs LENGTH + 1 posts.

Therefore, for her LENGTH meter fence, person( 1 ) needs LENGTH + 1 posts.