0から999,999,999,999までの数値が与えられたら、その数値を英語でつづりましょう。
0から99までの基本的なケースを扱います。
プログラムへの入力が22なら、出力は'twenty-two'になるはずです。
定められた範囲外の数値が与えられたら、プログラムは大きな声で文句を言うべきです。
このプログラムの良いテストケースには、次のようなものがあります:
Macを使っているなら、Mac OS Xのsayプログラムを呼び出して、実際に声に出して読み上げてみましょう。
LinuxやWindowsを使っているなら、espeakコマンドでeSpeakNGが使えるかもしれません。
数値を千のまとまりに分割する処理を実装します。
すると、1234567890は1、234、567、890のような配列を生成し、ずっと単純な1000は1と0だけを生成するはずです。
次に、それらのまとまりの間に適切な位の言葉を挿入する処理を扱います。
すると、1234567890は'1 billion 234 million 567 thousand 890'を生成するはずです。
プログラムは、範囲外の値についても報告しなければなりません。 "trillion"で止めてもかまいません。
すべてを組み合わせて、ただの平易な英語だけを出力できるようにしましょう。
12345はtwelve thousand three hundred forty-fiveを返すはずです。
プログラムは、範囲外の値についても報告しなければなりません。