Submit | All submissions | Best solutions | Back to list |
PROG0110 - Heartbeats |
In his 1984 book Scaling, Duke University physiologist Knut Schmidt-Nielsen points out a pleasing coincidence:
A 30-gram mouse that breathes at a rate of 150 times per minute will breathe about 200 million times during its 3-year life; a 5-ton elephant that breathes at the rate of 6 times per minute will take approximately the same number of breaths during its 40-year lifespan. The heart of the mouse, ticking away at 600 beats per minute, will give the mouse some 800 million heartbeats in its lifetime. The elephant, with its heart beating 30 times per minute, is awarded the same number of heartbeats during its life.
Regardless of the fact that Schmidt-Nielsen made some calculation errors in determining the total number of heartbeats of mice and elephants, it seems to be true that most mammals have roughly the same number of heartbeats per lifetime: about one billion. Small mammals have high metabolic rates and short lives, whereas large ones have low rates and long lives.
Humans are lucky: we live several times as long as our body size suggests we should.
Input
The first line of input contains the name of an animal species. This is followed by two more lines of input that each contain a positive integer. The first integer is the average number of heartbeats per minute of the species, and the second integer is the average life expectancy of the species expressed in years.
Output
The output must contain the sentence creatures have d.dd billion heartbeats, where the fragments in italic have to filled up with the given and calculated values. The placeholder creatures must be filled up with the given name of the animal species. The placeholder d.dd must be filled up with the computed number of life time heartbeats of the animal species, expressed in billions of years. This value must be expressed as a floating point number with two decimal digits, where rounding is used to determine the decimal digits. The life time heartbeat computation should not need to take into account leap years, and must consider each year to have 365 days.
Example
Input:
humans 60 70
Output:
humans have 2.21 billion heartbeats
Epilogue
Resources
In zijn boek Scaling uit 1984 wijst fysioloog Knut Schmidt-Nielsen van Duke University op een leuke toevalligheid:
Een muis van 30 gram die ademt aan een snelheid van 150 keer per minuut zal 200 miljoen keer ademen tijdens zijn 3 levensjaren. Een olifant van 5 ton die ademt aan een snelheid van 6 keer per minuut heeft ongeveer hetzelfde aantal ademhalingen tijdens zijn 40 levensjaren. Het hart van een muis, dat tikt aan 600 slagen per minuut, geeft een muis zo'n 800 miljoen hartslagen tijdens zijn hele leven. De olifant, met een hartslag van 30 slagen per minuut, krijgt ongeveer hetzelfde aantal hartslagen tijdens zijn leven.
Los van de rekenfouten die Schmidt-Nielsen maakt bij zijn berekening van het totaal aantal hartslagen van muizen en olifanten, blijkt inderdaad dat de meeste zoogdieren tijdens hun leven ongeveer één miljard hartslagen hebben. Kleine zoogdieren hebben typisch een hoge stofwisseling en een kort leven, terwijl grotere zoogdieren een lagere stofwisseling en een langer leven hebben.
Wij mensen hebben geluk: we leven een paar keer langer dan onze lichaamsgrootte zou doen vermoeden.
Invoer
De eerste regel van de invoer bevat de naam van een diersoort. Daarna volgen twee regels die elk een natuurlijk getal bevatten. Het eerste natuurlijk getal is het gemiddeld aantal hartslagen per minuut van de diersoort, en het tweede getal is de gemiddelde levensduur van de diersoort uitgedrukt in jaren.
Uitvoer
De uitvoer bestaat uit de zin schepsels hebben d.dd miljard hartslagen, waarbij de cursieve fragmenten moeten ingevuld worden met gegeven en berekende waarden. Op de plaats van schepsels moet de gegeven naam van de diersoort ingevuld worden. De plaats aangegeven door d.dd moet ingevuld worden met het berekend aantal hartslagen in het leven van de diersoort, uitgedrukt in miljarden jaren. Deze waarde moet uitgeschreven worden als een floating point getal met twee decimale cijfers, waarbij afronding gebruikt wordt om de decimale cijfers te bepalen. Bij de berekening moet geen rekening gehouden worden met schrikkeljaren, en mogen alle jaren met 365 dagen geteld worden.
Voorbeeld
Invoer:
mensen 60 70
Uitvoer:
mensen hebben 2.21 miljard hartslagen
Epiloog
Bronnen
Added by: | Peter Dawyndt |
Date: | 2011-08-05 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |