== 1 ==
整数nの入力を受けて、nの階乗を求めるプログラムを書いてみましょう。<<BR>>
1つだけでなく色々な方法で書いてみてください。<<BR>>
(ファイルは別にしてください)

== 2 ==
整数の配列を引数にとって、配列が回文になっているかどうかを判定するメソッドis_palindromeを書いてみましょう。<<BR>>
(ここで回文とは左から読んでも右から読んでも同じ配列になるような配列です)

== 3 ==
整数の配列を引数にとって、要素をそれぞれ2乗して足したものを求めるプログラムを書いてみましょう。

== 4(そこそこ) ==
英語の文章に出現する単語の中で、出現頻度が最も高い単語と、文字数が最も多い単語を出力して終了するプログラムを作成してください。<<BR>>
入力データには英文字、スペースのみが含まれているものとします。<<BR>>
単語とは、スペースで区切られた連続する英文字の列です。<<BR>>
文章の文字数は 1000 文字以下です。一つの単語の文字数は 32 文字以下です。<<BR>>
出現頻度が最も高い単語、最長の文字数を持つ単語はそれぞれ文中にただ一つだけ存在するものとします。

== 5(むずかしい) ==
次の関数があるとします。
{{{#!highlight ruby
def succ(n)
    n + 1
end

def pred(n)
    n - 1
end
}}}
このメソッドを使って(+という演算子を使わずに)a + bを計算するメソッドmyaddを定義してみましょう。
{{{#!highlight ruby
def myadd(a, b)
    ....
end

puts myadd(2, 3) # 5が出てくる
}}}

== 6(すごくむずかしい) ==
問題5で与えられたメソッドと作ったメソッドを使って(つまりsuccとpredとmyaddを使って)、与えられた数値の配列の要素の合計を求めるメソッドmysumを定義してみましょう。