# What is her real age? [closed]

He : What is your age?

She : 35 years old, ignoring the intervening Saturdays and Sundays.

What is her real age?

• Today 35 years old, correct? – Doomenik Aug 29 '18 at 9:31
• @Doomenik Yes... – Smart Aug 29 '18 at 9:32
• @rsp But the year is 52 weeks (including Sat and Sun) plus a day or two. What does a year mean in the context of your question? 365 days? How about the leap years? Saturdays or Sunday on 29th February? Etc. – rhsquared Aug 29 '18 at 9:40
• How is this a puzzle and not merely an arithmetic story-problem? – Rubio Aug 29 '18 at 13:32
• @Rubio to me it seemed like a pretty decent trick question puzzle all the way up to the appearance of the tick.. – Bass Aug 29 '18 at 15:34

Based on my initial intuition, I'm guessing it's

49

Since

It's as if she only lived for 5 days a week instead of 7, so she actually lived $\frac{7}{5}$ longer than her reported age.

Her real age is

35.

If you ignore all the Saturdays and Sundays,

the number of days lived is 5/7 of what it would normally be, but the number of days in a year is also 5/7 of the norm.

We do not know. Because women are known to lie about their ages all the time, even in riddles.

Ok, I've got a weird solution for this but here goes. If we go with the assumption that in this scenario your recorded age only increases on the date of your birthday each year and only then when that date falls on a weekday. If it was a weekend (Saturday or Sunday) in a particular year then you wouldn't increase your age.

Taking that I ran some code to work out for each date from today's date to the start of the year how old you would be using these mechanics.

The results came up that, depending on your birthday you could be anywhere between 47 (26 dates), 48 (110 dates) 49 (96 dates) and 50 (9 dates) years old in reality and still have the age of 35. The only outlier to this would be if you were born on February 29th (a Leap Year). For these lucky people if you could theoretically live that long they would have an age of 197.

The code I used is below

Sub CalcAge()

Dim datBDay As Date
Dim datTempDate As Date
Dim iActAge As Integer
Dim iCnt As Integer

datBDay = Date

While datBDay > #7/18/2018#
iCnt = 1
iActAge = 35

While iCnt < iActAge
datTempDate = DateAdd("yyyy", 0 - iCnt, datBDay)

If Weekday(datTempDate, vbMonday) > 5 Then
'falls on weekend therefore increases age
iActAge = iActAge + 1
End If

iCnt = iCnt + 1
Wend

'Leap Year Calculations

'        While iCnt < iActAge
'            datTempDate = DateAdd("yyyy", 0 - iCnt, datBDay)
'            If isLeapYear(Year(datTempDate)) Then
'                If Weekday(datTempDate, vbMonday) > 5 Then
'                    'falls on weekend therefore increases age
'                    iActAge = iActAge + 1
'                End If
'            Else
'                iActAge = iActAge + 1
'            End If
'
'
'        iCnt = iCnt + 1
'        Wend
'
Debug.Print "Actual Age if born on " & datBDay & " is :"; iActAge

datBDay = datBDay - 1

Wend

End Sub

Public Function isLeapYear(yr As Integer) As Boolean
isLeapYear = (Month(DateSerial(yr, 2, 29)) = 2)
End Function


There might be some innacuracies as worked this up quickly but just wanted to look at this from a different angle.

I think

$49$

Calculation:

Let $X =$ her actual age.

There are $260.7$ week days in a year ( $365\div 7 = 52.14$ and $52.14 \times 5 = 260.7$)

So...

$35$ is to $X$ as $260.7$ is to $365$

$35\div X = 260.7\div 365$

Solving for X by cross multiplying

$260.7X = 35 \times 365$

$260.7X = 12,775$

$$X = 49.00$$

• Always make sure to hide your answer(s) in spoiler quotes/tags >! as opposed to >, in order to not spoil the answer for users attempting to solve the puzzle. I have proposed such an edit :) – Mr Pie Aug 29 '18 at 11:38