トラック
/
C++
C++
/
演習
/
宇宙の年齢
宇宙の年齢

宇宙の年齢

初級

はじめに

西暦2525年。太陽系のすべての惑星(水星、金星、地球、火星、木星、土星、天王星、海王星)を訪れる旅に出たところです。 最初の寄港地は水星で、ここでは税関で書類の記入を求められます(お役所仕事はどうやら地球固有のものではないようです)。 書類を税関職員に手渡すと、職員はそれをじっくりと見て、眉をひそめます。 「まさか、_本当に_50歳だと信じろとおっしゃるのですか? 200歳に近いはずですよ!」

面白くなって、職員が笑い出すのを待ちますが、どうやら大真面目のようです。 そこで気づきます。書いたのは_地球年_での年齢なのに、職員は_水星年_だと思っていたのです! 水星の公転周期は地球よりずっと短いため、水星年で数えると実際の年齢はもっとずっと高くなります。 すばやく計算して、水星年での年齢を伝えると、職員は満足そうに微笑み、先へ進むように手で合図します。 次に税関を通るときにこんな混乱を避けられるよう、惑星ごとの年齢を_あらかじめ_計算しておこうと心に決めます。

Note

冥王星がなぜ仲間に入っていないのか不思議に思った方は、こちらのYouTube動画を見てみてください。

説明

秒単位の年齢が与えられたとき、太陽系の惑星ではその人が何歳になるかを計算します。

地球での1年は365.25日、つまり31,557,600秒です。 もし誰かが1,000,000,000秒の年齢だとしたら、その人の年齢は地球での31.69年になります。

他の惑星については、地球年での公転周期を考慮する必要があります。

惑星 地球年での公転周期
水星 0.2408467
金星 0.61519726
地球 1.0
火星 1.8808158
木星 11.862615
土星 29.447498
天王星 84.016846
海王星 164.79132
Note

地球が太陽の周りを1周する実際の長さは、365.256日(1恒星年)に近い値です。 グレゴリオ暦は、平均すると365.2425日です。 完全に正確ではありませんが、この演習では365.25という値を使います。 1年の測り方については、Wikipediaの「年」の記事を参照してください。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
C++ Exercism

宇宙の年齢を始める準備はできましたか?

Exercismに登録すれば、19個のコンセプト100個の演習、そして本物の人間によるメンタリングとともに、C++を学んでマスターできます。すべて無料です。