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年 日本数学オリンピック予選問題)

練習問題リンク集