2017年度「プログラミング言語1」「プログラミング言語演習」のページ

練習問題

2016年4月27日出題
  1. 素数は無限個存在する。すなわち、任意の正整数 \(n\) に対してある素数 \(p\) が存在して \(n\le p\) が成り立つ。この事実は古くから知られており、エウクレイデス(ユークリッド)『原論』にも証明が掲載されている。

    1. 正整数 \(n\) を入力し、\(n\) 以上の最小の素数を出力するプログラムを書け。

  2. \(a\) と \(d\) が互いに素な正整数ならば、初項が \(a\) で公差が \(d\) の無限等差数列 \(a\), \(a + d\), \(a + 2d\), \(a + 3d\), \(a + 4d\), … は無限個の素数を含む。このことはディリクレの算術級数定理として知られている.ガウス(Johann Carl Friedrich Gauss, 1777–1855)が予想していたことを、1837年にディリクレ(Johann Peter Gustav Lejeune Dirichlet, 1805–1859)が証明した.

    たとえば、\(2\)から始まり\(3\)ずつ増える無限数列

    2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, …

    には、無限個の素数

    2, 5, 11, 17, 23, 29, 41, 47, 53, 59, 71, 83, 89, …

    が含まれる。

    1. 正整数 \(a\), \(d\), \(n\) を入力し、初項が \(a\) で公差が \(d\) の無限等差数列に含まれる \(n\) 番目の素数を出力するプログラムを書け。なお、\(a\) と \(d\) は互いに素であると仮定してよく、そのことを確認するコードを含む必要はない。

      たとえば、\(a=2\), \(b=3\), \(n=5\) の時の値は23である。


戻る
奈良女子大学生活環境学部情報衣環境学科生活情報通信科学コース