next up previous
Next: レポート問題 Up: 計算機言語 I 第 4 Previous: 型に対する修飾語

練習問題

  1. \(\displaystyle{e^{\sqrt{163}\pi}-744}\)$640320^3$ の差は, 幾らか ? その値を数学関数ライブラリを用いて計算するプログラムを書け. (実際には \(\displaystyle{\mid e^{\sqrt{163}\pi}-744- 640320^3 \mid < 10^{-12} }\) となる事が知られている. なぜ, \(\displaystyle{e^{\sqrt{163}\pi}-744}\) が整数の 3 乗に近いのか, その理由もできれば調べよ.)

  2. Euler(オイラー)の関数 $\varphi(n)$ は, 2 以上の整数 $n$ に対して, 1 から $n$ までの数で, $n$ と互いに素な数の個数として定義される. $\varphi(2)=1, \varphi(3)=2, \varphi(4)=2, \varphi(5) = 4,
\varphi(6) = 2, \cdots.$ オイラーの関数を C 言語の関数として記述し, $n$ を入力した時その値を 出力するプログラムを書け.

  3. 再帰を用いて Fibonacci 数列 $a_n = a_{n-1} + a_{n-2}, ~
a_0 = a_1 = 1 $ の第 $n$ 項を出力するプログラムを書け.

  4. 上のFibonacci 数列の一般項を求め, 数学関数ライブラリを用いて 第$n$項を出力するプログラムを書け.

  5. 階乗 $n!$ を再帰で求めるプログラムを書け.

  6. さらに拡張して 2 項係数 \(\displaystyle{{n\choose k}
= \frac{n!}{k!(n-k)!}} \) を求めるプログラムを書け.

  7. 2項係数を漸化式 \(\displaystyle{{n\choose k}
= {n\choose k-1} + {n-1 \choose k-1}, {n \choose 0} =
{n\choose n} =1 }\) から再帰で計算するプログラムを書け.

  8. 上の 2 つの 2 項係数のプログラム各々において, \(\displaystyle{13\choose 6}\)は, 正確な値が求まるか ? その理由は何故か ?



Subsections

Next: レポート問題 Up: 計算機言語 I 第 4 Previous: 型に対する修飾語