このビデオによると、太陽年は365日、5時間、48分、45秒、138ミリ秒です。現在のグレゴリオ暦では、うるう年の規則は次のとおりです。
if year is divisible by 400, LEAP YEAR
else if year is divisible by 100, COMMON YEAR
else if year is divisible by 4, LEAP YEAR
else, COMMON YEAR
残念ながら、この方法は3216年ごとに1日ずれています。
カレンダーを変更する1つの可能な方法は、次の規則です。
if year is divisible by 128, COMMON YEAR
else if year is divisible by 4, LEAP YEAR
else, COMMON YEAR
これには、さらに625,000年間、カレンダーを再度変更する必要がないか、ギブまたはテイクする必要がないという利点があります。
全世界が、今から4年ごとにこのシステムを使用し、128年ごとを除いてうるう年であると判断し、カレンダーを次のように変更するとします。
YEAR GREGORIAN 128-YEAR
2044 LEAP LEAP
2048 LEAP COMMON
2052 LEAP LEAP
...
2096 LEAP LEAP
2100 COMMON LEAP
2104 LEAP LEAP
...
2296 LEAP LEAP
2300 COMMON LEAP
2304 LEAP COMMON
2308 LEAP LEAP
これは曜日アルゴリズムにどのように影響しますか?
チャレンジ
- 2000年から100000年までの日付を指定すると、この新しいカレンダーの下で曜日を見つけます。
- 使用している形式を明確に指定している限り、入力および出力形式はすべて許可されます。
- これはコードゴルフですので、可能な限りゴルフのように解決するようにしてください!
テストケース
"28 February 2048" -> "Friday"
"March 1, 2048" -> "Sat"
(2100, 2, 29) -> 0 # 0-indexed with Sunday as 0
"2100-02-29" -> 7 # 1-indexed with Sunday as 7
"28 Feb. 2176" -> "Wednesday"
"1-Mar-2176" -> "Th"
"28/02/100000" -> "F" # DD/MM/YYYYYY
"Feb. 29, 100000" -> 6 # 1-indexed with Sunday as 7
"03/01/100000" -> 1 # MM/DD/YYYYYY and 1-indexed with Sunday as 1
チャレンジに関する提案やフィードバックを歓迎します。幸運と良いゴルフ!