Workshop/StartHaskell2/exercise1
『はじめの第一歩』 練習問題
計算
次の計算をしなさい.
(2003年 日本ジュニア数学オリンピック問題)
レンジ
レンジを使って、以下のような文字列(リスト)を作ってみましょう。
リストの切り出し
リストを切り出してみましょう。
というリストから
- ++
- head
- tail
- init
- last
- take
の関数を使って以下のリストを作ってみましょう。 (個々の関数すべてを使う必要はありません。また一つの関数を何度使っても良いです。)
: 演算子
以下のリストを : 演算子(コロン)を使って書き直してみよう。 (p.8)
オフサイドルール
ToDo: なんか if 式とかではまりそうな例をあげる.
1 から 10 までのすべての整数で割り切れる数字
1 から 10 までのすべての整数で割り切れる数字の中で最小の値を求めよ.
(Project Euler, Problem 5 改)
ピタゴラス数
ピタゴラスの三つ組(ピタゴラスの定理を満たす自然数)とは
を満たす数の組である.
a + b + c = 1000 となるピタゴラスの三つ組が一つだけ存在する. この a, b, c を求めよ.
(Project Euler, Problem 9 改)
百の位と一の位の数字が等しい数
100 以上 999 以下の3桁の自然数を考える.
このとき, 例えば 202 や 999 のような, 百の位の数字と一の位の数字が等しい数は, 全部でいくつあるか.
(2002年 日本数学オリンピック予選問題)
3で割り切れる数はいくつ
5桁の自然数で, 各桁の数字は 1,2,3 のいずれかであるようなものを考える. これらの自然数のうち, 3 で割りきれるものは全部でいくつあるか.
(2002年 日本数学オリンピック予選問題)