それは、ローマ帝国が陥落せず、暗黒時代への崩壊が起こらなかった世界でMDLXVIIの年です。パックスロマナの長期化により、帝国の経済的安定により、テクノロジーは急速に進歩しました。
ローマ人は回路に手を出すようになり、「等しい」ボタンの使用を必要としない独創的な計算機を発明しました。彼らはそれを「ローマ・ポーランド記法」と呼びます
計算を行うには、まずオペランドを入力してから、演算を入力します。
たとえば、100 + 11 * 20はになりますC XI XX * +
。
さらに
ローマ人は、複数の計算を同時に行う必要がある場合が多く、メソッドが何らかの配列/リスト/タプルのような構造で「スタック上の」すべての値を返すことを望んでいます。(たとえばX I + X I - CC II +
、[11、9、202]を返します)
課題は、これらの計算を行うことができる電卓プログラムを開発することです。
明確化:減算表記が必要です。私はそれが古代ローマ帝国の特徴として認識されていないことに気づかなかった。したがって、このタスクはあいまいであり、謝罪します。
最小ガイドライン
- 出力はアラビア数字になります。
- 5000までのローマ数字から変換する必要があるだけです。
- +、-、/、*演算(加算、減算、除算、乗算)をサポートする必要があります。
- 除算が浮動小数点ベースか整数ベースかは実装固有です。どちらもこの課題に対応します。
- 出力は40億までの数値をサポートする必要があります。
- 全体的に最も短い答え、そして各言語での勝ちです。これはコードゴルフチャレンジですが、私はその種類が大好きです。
同点の場合は、5000を超えるローマ数字のサポートや追加の演算などの要素が、最も早い提出が勝つと見なされます。