I think what makes it confusing is the "variable overloading" referring to both the current ages of Mary and Ann (M & A), and their ages at some point in the past "when Mary was as old as Ann is now" (M' & A').
So, what we're given is:
M = 24
M' = A
M = 2A' => A' = M/2 = 12
Since the age gap between Mary and Ann is constant, we know:
M - A = M'- A'
So, substituting in the known values:
24 - A = A - 12
2A = 36
A = 18
We can double check the result. Since Mary (24) is 6 years older than Ann (18), then when Mary was 18 Ann would have been 12, so Mary is now twice that age as given.
Mary := 24 = 2(A - Δ)
A = Mary - Δ
And then it’s just substitution. But of course what appeals to one’s intuition is very personal
Mary is 24 years old. When Mary was Ann’s current age, Ann was 12 years old (half Mary’s current age).
This makes it a bit easier to realize that Ann’s age has to be right in the middle of 12 and 24.
> Mary is 24 years old. She is twice as old as Ann was when Mary was as old as Ann is now. How old is Ann?
Which I read as:
> Mary is 24 years old. When Mary was Ann's current age, Anne was half the age she currently is.
Which would mean Anne is 16 (because when Mary was 24-8=16, Anne's current age, then Anne was 16/2=8, half Anne's current age).
But re-reading it, then for that to be true the original would have needed to be phrased:
> Mary is 24 years old. She was twice as old as Ann was when Mary was as old as Ann is now. How old is Ann?
How did you actually make that deduction? I can only see it by writing down an equation. I can't see anything in the problem that directly implies it.
Ann is 6 years younger than Mary, who is 24 years old.
Or even better, Ann is 18 and Mary is 24.
But then again, I always disliked word-based logic problems that didn't correspond to genuine complexity. If something CAN be stated in simple terms, I believe it should be. If you want to create a word-based logic puzzle then present a genuine problem that can be engaged with rather than a poorly formulated explanation of the mundane.
That being said, I have no idea how I would present the same fundamental logical puzzle using a material problem that doesn't have a simpler distillation that solves the problem for you. Maybe I'm just not cut out for the realm of intellectual puzzles.
I'm not sure why it needs rephrasing—it seems pretty straightforward? What am I missing?
16 works (as another pointed out). Ann is 16 and Mary would have been that age 8 years ago—when of course Ann would then have been 8 (Mary, at 16, was twice her age).
Mary is 24, which is twice as old as Ann was some time ago. At that time, Mary was the age that Ann is now. What is that age?
> Mary is 24 years old. She is twice as old as Ann was (12) when Mary was as old (18) as Ann is now (18). How old is Ann?
So 6 years ago, Mary was 18, and Ann was 12.
Today, Mary is twice the age that Ann was (12 * 2) at the time that she (Mary) was 18, making her 24.
What makes it confusing is that the sentence is comparing Mary’s present age with Ann’s past age (which I did not catch until mulling it over a bit).
> mary is 24
> 8 years apart: ann is 16 now, when ann was 12 mary was 20
> 6 years apart: ann is 18 now, when ann was 12 mary was 18
> 4 years apart: ann is 20 now, when ann was 12 mary was 16
I can't see a way to do it without algebra.
> Mary is 24 years old. She is twice as old as Ann was
So Ann was 12
> when Mary was as old as Ann is now
So Mary is older than Ann.
The age of Ann is somewhere between 12 and 24. Without much thinking I'd say that probably 12 and 24 are not included and probably it is an even number.
We can test each of them.
If Ann is 14 now, when Mary was 14 (10 years ago) Ann was 4 year old and Mary would be 8 now, this is not the solution.
If Ann is 16 now, when Mary was 16 (8 years ago) Ann was 8, Mary would be 16 now, nope.
If Ann is 18 now, when Mary was 18 (6 years ago) Ann was 12, Mary would be 24 now and she is. This is the solution.
Ann is 18.
This is related to "When all you have is a hammer, everything looks like a nail."
It's slightly different, because you've supercharged your hammer. Everything you ever understood about how to solve word problems has been subsumed into what your brain labels as "algebra."
But look at it this way:
1) Did you use algebra to convert the problem to algebraic form? Probably not; algebra says nothing about word problems.
2) Once it was in algebraic form, did you need to repeatedly apply algebraic rules in order to reduce the problem, or could you glance at it and figure it out?
You may also be hampered by your choice of variable, because you chose "X" to be an intermediate variable.
If, instead, you choose "X" to be what you are searching for, Ann's current age, then the problem setup is:
24 - x = x - 12
Which many of us can solve in our heads without writing down, or even without consciously converting "Ann's current age" to "X".Are you in the 8th grade? Those of us a couple of decades past the 8th grade are maybe slower at algebra than someone who is actively drilling it...
The whole point of this kind of meme is for the populace to perform disagreement about the answer! (See also: the Monty Hall problem; sports; comments sections.)
[1] - https://www.loc.gov/resource/sn83030193/1903-11-11/ed-1/?sp=...
[2] - https://quuxplusone.github.io/blog/2019/08/01/what-is-8-divi...
The key insight here is to remember that time moves the same for both Mary and Ann. Let's call the number of years between past and present X. Then
24 - X = 12 + X => 24 - 12 = 2X => X = 6.
Let M_n := Mary's age now = 24, A_n := Ann's age now, and let M_p, A_p be the ages of Mary and Ann at a certain point in the past. We have that M_n = 24 = 2(A_p) from "Mary is 24 years old. She is twice as old as Ann was", immediately implying that A_p = 12. At the point in time p when M_p, A_p were the ages of Mary and Ann, respectively, we have that M_p = A_n from "when Mary was as old as Ann is now". Also, let x := | M_n - M_p | = | A_n - A_p | be the amount of time that has passed between the point p in time and now. Since M_n > M_p and A_n > A_p by construction, we can drop absolute values, yielding M_n = M_p + x, A_n = A_p + x. Substituting, we have M_p = 24 - x, and A_n = 12 + x, yielding x = 24 - M_p = A_n - 12, yielding A_n = 36 - M_p. But, since M_p = A_n, we can write 2(A_n) = 36 yielding A_n = 18.
This problem, however, completely ignores the fact that Ann boarded an interstellar spaceship 6 years ago at a reasonable fraction of the speed of light c. To account for this missing detail, we need to use Lorentz factors. Since Ann was the one traveling in space, we have to adjust her current age by calculating A_n = A_p + x * sqrt(1 - (v/c)^2)), where v is Ann's velocity Given that the problem is missing the critical detail of how fast Ann is hurtling towards the outer boundary of the universe, we really can't calculate their age at all. Nonetheless, given the completely reasonable and plausible assumption that Ann has been traveling at 95% of the speed of light because spaceships totally can do that, Ann is obviously about 13.87 years old. So 18 years old is clearly the wrong answer.
Note that the fact that Ann is not aging as much due to traveling at an enormous velocity does NOT change Mary's age. Mary remains exactly twice as old as Ann was at the given point in the past, so she's 24 and 6 years have passed from her perspective. Only Ann's age changes. Obviously.
x: Ann's current age
y: The age difference between Ann and Mary
24 = x + y (ie. their current ages)
x = (24/2) + y (ie. their age in the past)
Solve for y in one equation and plug it into the other. You'll get x = 18. Now : Mary is 24 = 2y, Ann is x
Past: Mary is x, Ann is 12 = y
Moreover, we have x + delta = 24, and 12 + delta = x (they get older at same rate), so delta = 6 and x = 18.I love this response so much.
> A man is twice the age his wife was when he was the age she is now. When she reaches his present age, their combined years will be 100. Find the age of each.
This seemed initially like something amenable to guessing and checking a few ratios. <narrator voice>It was not.</narrator voice>
My answer: The man is 44 4/9 years old, the wife 33 1/3 years.
perl -e '$_=24;print+(y///c,$m=$_)&&$_*3/4 .$/'
There's two point in time with two ages each:
M, M0, and A, A0
Then the sentence can be expressed as:
* M = M0 + X and A = A0 + X and (X is the time difference)
* M = 24 and ("Mary is 24")
* M = 2 * A0 and ("Mary is twice as old as Ann was")
* M0 = A ("Mary was as old as Ann is now")
MO (mary old), MN (mary now), AO (ann old), AN (ann now)
MN = 24
MO = AN
2AO = MN
MN - AN = MO - AO
This discussion itself offers insight on the actual need for technical professionals to be able to logically reason through non-obvious [information] structures.
I've anecdotally suspected that the ability to synthesize information into a navigable data structure and subsequently analyze it, both from internal and external POV, is not a hard requirement for the majority SWE positions.
[1] - https://www.loc.gov/resource/sn88085488/1903-10-31/ed-1/?sp=...
How I understand it:
Mary is 24, Ann is a few (n) years younger
M = 24
A = M-n
Mary is twice as old as Ann was when Mary was as old as Ann is now. So we have to deduct the age difference twice from Mary's current age to find out how old Ann was when Mary was as old as Ann is now, which is half Mary's current age: M-2n = M/2 = 12
M-2n = 12 --> n=6
So the age difference is 6, and Ann is 18.