課題 - データ型
このモジュールで学んだすべてのことを練習するために、コーディングの課題をいくつか用意しました。 これらの課題は難しいものではなく、それぞれに対して解答が提供されます。 最初に課題を自分で解いてから、提供された解答と比較してみてください。 特定の内容を覚えていない場合は、いつでも戻ってコンテンツを確認することができます。
フィボナッチ数列を計算するプログラムを記述する
この最初の課題では、数値からフィボナッチ数列を計算するプログラムを記述します。 フィボナッチ数列のすべての数値のスライスを返す関数を記述します。 数列は、ユーザーが入力した数値に基づいて計算を行った結果です。 2 より大きい数値を入力する必要があります。 2
よりも小さい数値が入力されると、エラーが発生し、nil スライスが返されることにします。
フィボナッチ数列は各数値が前の 2 つのフィボナッチ数の合計である数値のリストであることを思い出してください。 たとえば、6
の数値の数列は 1,1,2,3,5,8
であり、7
は 1,1,2,3,5,8,13
、8
は 1,1,2,3,5,8,13,21
のようになります。
ローマ数字変換プログラムを作成する
MCLX
のようなローマ数字を 1,160
に変換するプログラムを記述します。 マップを使用して、文字列の文字を数値に変換するために使用する基本的なローマ数字を読み込みます。 たとえば、M
はマップのキーになり、その値は 1000
になります。 次の文字列の文字のマップのリストを使用します。
M
=> 1000D
=> 500C
=> 100L
=> 50X
=> 10V
=> 5I
=> 1
ユーザー入力に前の一覧と異なる文字が含まれている場合は、エラーが出力されます。
小さい数値が大きい数値の前にある場合があるため、単純に数値を合計することはできないことに注意してください。 たとえば、数値 MCM
の場合は 1,900
が出力される必要があります。