PROG0444 - Confederacy of Squares
When asked about his age, mathematician Augustus De Morgan usually answered "I was $x$ years old in $x^2$" (he was 43 in 1849). With that, he belongs to the select club of the Confederacy of Squares, to which only those who were aged $x$ in the year $x^2$ (met $x \in \mathbb{N}_0$) belong. Other known members are Charles Atlas (who was 44 in 1936) and Jake Gyllenhaal (who will be 45 in 2025). The following members to join the Confederacy won't be born until 2070. They will be 46 in 2116.
Input
The name of a person and his or her year of birth, each on a separate line.
Output
If the person ever has age $x$ in the year $x^2$, a sentence must be printed that states the name of the person that belongs to the Confederacy of Squares; along with the age and the year in which the condition will be met. Use the format indicated in the examples below. If the person does not belong to the Confederacy of Squares, a sentences must be printed that states this fact. Use the format of the last example below. Some remarks:
- To determine whether a person belongs to the Confederacy of Squares, we do not take into account that a person might die (or has died) before reaching the age on which the condition is met.
- The format of the sentence that indicates that a person is in the
Confederacy of Squares, deviates slightly if the year is either in the
past or in the future. Compare the output of the first two examples that
are given below. The interactive session below indicates how you can ask
the current year in Python.
>>> from datetime import date >>> date.today().year 2014
Example
Input:
Augustus De Morgan
1806
Output:
Augustus De Morgan was 43 in 1849.
Example
Input:
Jake Gyllenhaal
1980
Output:
Jake Gyllenhaal will turn 45 in 2025.
Example
Input:
Thomas Alva Edison
1847
Output:
Thomas Alva Edison is not a member of the Confederacy of Squares.
Gevraagd naar zijn leeftijd antwoordde de wiskundige Augustus De Morgan doorgaans verhullend met "Ik was $x$ jaar oud in het jaar $x^2$" (hij was 43 in 1849). Daarmee behoort hij tot de selecte club van het Verbond der Wortels, waartoe enkel personen behoren die ooit een leeftijd $x$ hebben in het jaar $x^2$ (met $x \in \mathbb{N}_0$). Andere bekende leden zijn Charles Atlas (die 44 jaar was in 1936) en Jake Gyllenhaal (die 45 zal zijn in 2025). De volgende personen die zullen toetreden worden pas geboren in 2070. Zij zullen immers 46 jaar oud worden in 2116.
Invoer
De naam van een persoon en zijn of haar geboortejaar, elk op een afzonderlijke regel.
Uitvoer
Als de persoon ooit een leeftijd $x$ kan bereiken in het jaar $x^2$, dan moet een zin uitgeschreven worden die de naam van de persoon vermeldt die behoort tot het Verbond der Wortels, samen met de leeftijd en het jaartal waarop de voorwaarde vervuld wordt om toe te treden. Gebruik hiervoor het formaat zoals aangegeven in onderstaande voorbeelden. Als de persoon niet tot Verbond der Wortels behoort, dan moet een zin uitgeschreven worden die dit aangeeft. Gebruik hiervoor het formaat zoals aangegeven in het laatste voorbeeld hieronder. Nog enkele opmerkingen:
- Om te bepalen of een persoon tot het Verbond der Wortels behoort, houden we geen rekening met het feit die persoon kan sterven (of gestorven is) vóór de leeftijd bereikt wordt waarop de voorwaarde voor toetreding vervuld wordt.
- Het formaat van de zin die aangeeft dat een persoon tot het Verbond
der Wortels behoort, wijkt lichtjes af als het jaartal in het verleden
of in de toekomst ligt. Vergelijk hiervoor de uitvoer van de eerste twee
voorbeelden die hieronder gegeven worden. Onderstaande interactieve
sessie geeft aan hoe je het huidige jaartal kunt opvragen in Python.
>>> from datetime import date >>> date.today().year 2014
Voorbeeld
Invoer:
Augustus De Morgan
1806
Uitvoer:
Augustus De Morgan was 43 in 1849.
Voorbeeld
Invoer:
Jake Gyllenhaal
1980
Uitvoer:
Jake Gyllenhaal wordt 45 in 2025.
Voorbeeld
Invoer:
Thomas Alva Edison
1847
Uitvoer:
Thomas Alva Edison is geen lid van het Verbond der Wortels.
Added by: | Peter Dawyndt |
Date: | 2014-01-20 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |