Thank you for using the timer - this advanced tool can estimate your performance and suggest more practice questions. We have subscribed you to Daily Prep Questions via email.

Customized for You

we will pick new questions that match your level based on your Timer History

Track Your Progress

every week, we’ll send you an estimated GMAT score based on your performance

Practice Pays

we will pick new questions that match your level based on your Timer History

Not interested in getting valuable practice questions and articles delivered to your email? No problem, unsubscribe here.

Thank you for using the timer!
We noticed you are actually not timing your practice. Click the START button first next time you use the timer.
There are many benefits to timing your practice, including:

The flowchart represents a mathematical algorithm that takes two positive integers as the input and returns a positive integer as the output. Processes are indicated in the rectangular symbols in the flowchart. Each process is symbolized by an equation, such as T = T + a. In this particular process, the current values of the variables T and a are added together and the sum then becomes the value of T. For example, if the value of T is 3 and the value of a is 7 before the process T = T + a is completed, then the value of T is 10 and the value of a is 7 after the process is completed.

Use the drop-down menus to fill in the blanks in the following statements based on the algorithm represented by the flowchart.

If 24 and 35 are entered as the values for a and b, respectively, then the first nonzero value of T is: 24, 48, 96, 192, 384.

If 35 and 27 are entered as the values for a and b, respectively, then after the process b=\frac{b}{2} is completed for the second time, the value of b is: 3, 6, 12, 13, 26.

The flowchart represents a mathematical algorithm that takes two positive integers as the input and returns a positive integer as the output. Processes are indicated in the rectangular symbols in the flowchart. Each process is symbolized by an equation, such as T = T + a. In this particular process, the current values of the variables T and a are added together and the sum then becomes the value of T. For example, if the value of T is 3 and the value of a is 7 before the process T = T + a is completed, then the value of T is 10 and the value of a is 7 after the process is completed.

Use the drop-down menus to fill in the blanks in the following statements based on the algorithm represented by the flowchart.

If 24 and 35 are entered as the values for a and b, respectively, then the first nonzero value of T is: 24, 48, 96, 192, 384.

If 35 and 27 are entered as the values for a and b, respectively, then after the process is completed for the second time, the value of b is: 3, 6, 12, 13, 26.

I got this question correct by simply putting in the values and following the schematic. Was there supposed to be any cool way of figuring out without just plugging the numbers in?

I got this question correct by simply putting in the values and following the schematic. Was there supposed to be any cool way of figuring out without just plugging the numbers in?

Not that I can see. Near as I can tell, this is similar to "symbol" questions on the quantitative section--simple substitution obscured by a difficult way of expressing the math.
_________________

Can anyone explain the first question? The value for T is not output until b=1 so we would have to iterate then loop until b=1 so a T is output. Maybe I'm just missing something.

I understand the first value greater than zero for T is 24 as this is the first iteration but we don't output a value for T from the flow chart until b=1 so until we can get b=1 from 37 (b-1 then b/2) we never actually output a value for T. From a computer programming perspective I think this question if flawed if the answer to the first part is 24.

I understand the first value greater than zero for T is 24 as this is the first iteration but we don't output a value for T from the flow chart until b=1 so until we can get b=1 from 37 (b-1 then b/2) we never actually output a value for T. From a computer programming perspective I think this question if flawed if the answer to the first part is 24.

Hey,

Whether or not a value is actually an 'output' is irrelevant; usually, in a program, this may be implemented as showing the user a value, or perhaps passing the value to another process.

If they ask about the 'value of T', all that matters is what value it takes on in memory; if you were stepping through the program in a debugger, and you checked for what the variable 'T' contains in memory at each step, you would see all of those values changing regardless of the value actually being 'outputted'.

Whether or not a value is actually an 'output' is irrelevant; usually, in a program, this may be implemented as showing the user a value, or perhaps passing the value to another process.

If they ask about the 'value of T', all that matters is what value it takes on in memory; if you were stepping through the program in a debugger, and you checked for what the variable 'T' contains in memory at each step, you would see all of those values changing regardless of the value actually being 'outputted'.

Hope that helps.

Awesome thanks! Guess I was reading too far into the question.

I got this question correct by simply putting in the values and following the schematic. Was there supposed to be any cool way of figuring out without just plugging the numbers in?

Not that I can see. Near as I can tell, this is similar to "symbol" questions on the quantitative section--simple substitution obscured by a difficult way of expressing the math.

I agree that given the particular questions that they asked about this pattern, solving it this way is probably the easiest. If they asked questions that required looping through the block diagram many times, however, I feel that pattern recognition would be very important for maximizing time efficiency.

For example, suppose that the first question asked "What is the final value of T?" In that case, iterating through the loop would be too mechanical, and I think it would be more useful to recognize the pattern and calculate the final answer that way.

So essentially, we see that with B = 35 as an initial value, the highest power of 2 contained within 35 is 5, so we know that A will be doubled 5 times, making the final value for A equivalent to 24 * 2^5 = 24*32 = 768. From there, we recognize that A is added to T for every time B takes on an odd value: starting with 35, we can quickly see that 35 is odd, 17 is odd, and 1 is odd, so T will be composed of the first, second, and last values that are taken on by A; i.e, 24, 24*2, 24*32 = 24*35 = 840.

In fact, this algorithm just implements T = A * B, which would be crucial to recognize if we were given very large numbers. I suppose a formal proof for this is probably going too far, but here's a somewhat intuitive explanation:

Suppose we have some arbitrary value for A, and B = 61. The highest power of 2 that is less than 61 is 5 (32), so we know that A will be doubled 5 times; i.e, multiplied by 32. So to get T = A*61, we need to show that T is composed of A*32 + A*(61-32 = 29). Since we know that only A*(powers of 2) are added to T, we can break down T as follows:

61 = 32 + 16 + 8 + 4 + 1 = the sum of the following powers of 2: (0, 2, 3, 4, 5). We can see this relationship by breaking down B = 61 as follows:

We can see that the number is halved 5 times, corresponding to the 5 times that A is doubled. Beside each layer is marked the corresponding 'doubling' of A.

Now, we recognize that an odd number is encountered at the 2^0, 2^2, 2^3, 2^4, and 2^5 layers, meaning we would be adding A*(1 + 4 + 8 + 16 + 32) to T, equating to 61*A.

I know that was kind of long-winded but hopefully it's useful/interesting to someone. I found it pretty neat.
_________________

I got this question correct by simply putting in the values and following the schematic. Was there supposed to be any cool way of figuring out without just plugging the numbers in?

Not that I can see. Near as I can tell, this is similar to "symbol" questions on the quantitative section--simple substitution obscured by a difficult way of expressing the math.

I agree that given the particular questions that they asked about this pattern, solving it this way is probably the easiest. If they asked questions that required looping through the block diagram many times, however, I feel that pattern recognition would be very important for maximizing time efficiency.

For example, suppose that the first question asked "What is the final value of T?" In that case, iterating through the loop would be too mechanical, and I think it would be more useful to recognize the pattern and calculate the final answer that way.

So essentially, we see that with B = 35 as an initial value, the highest power of 2 contained within 35 is 5, so we know that A will be doubled 5 times, making the final value for A equivalent to 24 * 2^5 = 24*32 = 768. From there, we recognize that A is added to T for every time B takes on an odd value: starting with 35, we can quickly see that 35 is odd, 17 is odd, and 1 is odd, so T will be composed of the first, second, and last values that are taken on by A; i.e, 24, 24*2, 24*32 = 24*35 = 840.

In fact, this algorithm just implements T = A * B, which would be crucial to recognize if we were given very large numbers. I suppose a formal proof for this is probably going too far, but here's a somewhat intuitive explanation:

Suppose we have some arbitrary value for A, and B = 61. The highest power of 2 that is less than 61 is 5 (32), so we know that A will be doubled 5 times; i.e, multiplied by 32. So to get T = A*61, we need to show that T is composed of A*32 + A*(61-32 = 29). Since we know that only A*(powers of 2) are added to T, we can break down T as follows:

61 = 32 + 16 + 8 + 4 + 1 = the sum of the following powers of 2: (0, 2, 3, 4, 5). We can see this relationship by breaking down B = 61 as follows:

We can see that the number is halved 5 times, corresponding to the 5 times that A is doubled. Beside each layer is marked the corresponding 'doubling' of A.

Now, we recognize that an odd number is encountered at the 2^0, 2^2, 2^3, 2^4, and 2^5 layers, meaning we would be adding A*(1 + 4 + 8 + 16 + 32) to T, equating to 61*A.

I know that was kind of long-winded but hopefully it's useful/interesting to someone. I found it pretty neat.

What a brilliant post. Took me a while to figure this out, but this is great. Thank you.