コードを使用して比較的簡単に実装できる単純なタスクがあります。あなたの目標は、HH:MM形式で時刻を指定すると、スペイン語で書かれた時刻を出力するプログラムを作成することです。多くの人はおそらくこれを行う方法を知らないので、詳しく説明します。
スペイン語の時間はかなり論理的です。通常、「Es la / Son las(hour)y(minutes)」のパターンに従います。時間は12時間形式であり、「Es la」は時間が1(つまり1時)の場合にのみ使用されます。議事録は別の話です。分が30未満の場合、上記のように表されます。ただし、分が30を超える場合、時間は切り上げられ、分が減算されます。たとえば、7:35は「8時間-25分」に相当します。さらにいくつかの例を以下に示します。必要なスペイン語の番号のリストはここにあります。一部の数字にはアクセントがありますが、これらは必要ありません。
注:ソースには「uno」と書かれていますが、文法的に正しいためには「una」である必要があります。これは、これまでの回答には影響しません。
注2:また、「cero」は不要です。プログラムが「Es la una」または「Son las tres」を出力する場合、それで問題ありません。これらのルールの変更については申し訳ありません。
ルール
- 入力は、STDINまたはご使用の言語の同等物を通じて提供されます。
- 外部ライブラリからの読み取りはありません。
- コードは無効な入力で何でもできます。
ボーナス
- -10は、コードにこれらの余分なフレーズが追加されている場合です。「y cuarto」は:15、「y media」は:30、「menos cuarto」は:45(切り上げ)です。
- -15は、コードがAMとPMを処理できる場合、「de lamañana」と「de la tarde」で応答します。
- 入力が提供されない場合、コードが現在の時刻を変換できる場合は-15。
得点
- これはコードとゴルフのチャレンジであり、文字ではなくバイトでスコアリングされます。
例
入力:8:10
出力:Son las ocho y diez.
入力:6:45
出力:Son las siete menos quince (or cuarto).
入力:1:29
出力:Es la una y veintinueve.
入力:12:55
出力:Es la una menos cinco.
ここで何か指定することがあれば教えてください。これは私の最初の質問なので、完全ではありません。
Es la una y cero
繰り返しが多いので、あなたの主張がわかります。私はこれを指定しなかったので、どちらかがうまくいくと思います。フィードバックをお寄せいただきありがとうございます。
01:21
少なくとも1人の回答者がuna vs unoについてあなたが言ったことによって混乱したため、テストケースとして追加する必要があります。