He : What is your age?
She : 35 years old, ignoring the intervening Saturdays and Sundays.
What is her real age?
Puzzling Stack Exchange is a question and answer site for those who create, solve, and study puzzles. It only takes a minute to sign up.Sign up to join this community
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.
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$)
$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$$