星际年龄换算

实践练习C++17

简介

2525 年,你开始了一段遍访太阳系行星的旅程:水星、金星、地球、火星、木星、土星、天王星和海王星。第一站水星的海关要求填写表格,看来办手续并非地球独有。海关人员看着你交上的表格皱眉说:“你真让我相信你只有 50 岁?你看起来应该快 200 岁了!”

你以为对方在开玩笑,却发现他十分认真。原来你填的是地球年龄,而对方需要水星年龄!水星绕太阳公转的周期比地球短得多,所以按水星年计算,你的年龄确实大得多。快速换算后,海关人员满意地放行。你决定在以后过海关前,先算好当地行星上的年龄,避免类似误会。

补充 若想知道为什么没有列入冥王星,可以观看这段视频。

任务说明

给定以秒为单位的年龄,计算此人在太阳系各行星上对应的年龄。

一个地球年按 365.25 个地球日计算,即 31,557,600 秒。例如,1,000,000,000 秒约为 31.69 个地球年。

其他行星需要按相对于地球年的公转周期换算:

行星 公转周期,单位为地球年
水星 Mercury 0.2408467
金星 Venus 0.61519726
地球 Earth 1.0
火星 Mars 1.8808158
木星 Jupiter 11.862615
土星 Saturn 29.447498
天王星 Uranus 84.016846
海王星 Neptune 164.79132

注意 地球绕太阳一周的实际恒星年更接近 365.256 天,公历平均每年则为 365.2425 天。本练习为统一计算,使用并非完全精确的 365.25 天。其他计量方式可参考维基百科“年”。