英語で数字を数字に変換するという課題がありましたが、それはあまりにも簡単でした。0〜100の数字を指定すると、対応する数字をフランス語で出力することになります。フランスの数字システムは、英語の数字システムと比較して、その背後にあるより複雑なロジックを持っています。
数字 --------------- 0ゼロ(アクセントに注意) 1国連 2ドゥ 3トロワ 4キャトル 5チンク 6 6 9月7日 8 huit 9ヌーフ 10ディックス 11オンズ 12ダウズ 13トライズ 14クォート 15キンゼ 16つかむ 9月17日(文字通り10 7) 18 dix-huit 19ディックスニューフ 20ヴィント 21 vingt et un(ハイフンなし) 22ヴィントドゥ ... 30トレンテ ... 40隔離 ... 50シンカンテ ... 60ソイシャンテ ... 70 soixante-dix(文字通り60) 71 soixante et onze ... 80 quatre-vingts(sに注意してください、文字通り4代) 81 quatre-vingt-un(ハイフンに注意してください) ... 90 quatre-vingt-dix 91 quatre-vingt-onze ... 99 quatre-vingt-dix-neuf(4 * 20 + 10 + 9) 100セント
完全なリストについては、http://quizlet.com/996950/(http://www.webcitation.org/6RNppaJx0)に従ってください。
さらなるルール/説明
- 数字が1で終わる場合を除き、単語間には常にハイフンがあります。
- 番号が1で終わるとき、unまたはonzeの前に単語et(およびandを意味する)が追加されます。(31 = trente et un)
- ただし、81と91は他の数値と同じ形式です。(81 = quatre-vingt-un)
- 60で、システムはベース10からベース20に切り替わります。
- これについては、ウェブ全体で若干の不一致があります。質問については、上記のリンクのリストを参照してください。
- デフォルトで禁止されている抜け穴は許可されていません。
- Webサイトなどの外部ソース、および数字を数字に変換したりフランス語に翻訳したりするライブラリ、API、関数などを使用することは許可されていません。
- これはcode-golfであるため、バイト数が最も少ない答えが優先されます。
- 可能な場合は、オンラインコンパイラにリンクして、コードを簡単にテストできるようにしてください。
入力
- 入力は、あなたの言語が入力を取得するものから取得されます。(STDIN、コマンドラインなど)
- 入力は、0〜100の整数(先頭のゼロはオプション)で構成される単一の文字列になります。
- 入力は常に整形式であると想定できます。
出力
- 結果は、あなたの言語にとって最も便利な方法で出力されます。(STDOUT、ダイアログボックスなど)
- 出力では大文字と小文字は区別されません。
例
これらに対してコードをテストします。
入出力 ------------- 0ゼロ 18 dix-huit 51 cinquante et un 80キャトルビング 91 quatre-vingt-onze 99 quatre-vingt-dix-neuf