素数の計算

素数のリストと素数かどうかを判断する関数を作成しよう。

素数を小さい順番に170個含んだ配列:p_lstを作成しよう。

p_lstを使い引数numが素数の場合はTrue、素数でなければFalseを返す関数を作成しよう。ただし、(1)で求めた最大値より大きな値を渡したときは、sympyモジュールを使って計算するようにしよう。

(2)で作成した関数につき、整数7,8, 170番目の素数、170番目以降の素数および合成数を適用して、関数が正しく動作するか確認しよう。

(2)で作成した関数を、sympyモジュールを使わない方法で作成し、(3)と同じように動作を確認しよう。

次の数字についてリストを作成し、それぞれの要素の計算結果と、それが素数であるかをsympyモジュールで調べ表示しよう。

$2357$

$2^2+3^3+5^5+7^7$

$2\times3\times5\times7+2+3+5+7$

$2\times3\times5\times7-2-3-5-7$

$2357223335555577777772357$

$2^{19}+3^{19}+5^{19}+7^{19}$

$2^{1013}+3^{1013}+5^{1013}+7^{1013}$

$2 + 3^5 \times 7^{11}$

次の計算結果とその値が素数であるか調べよう。ただし、$p_n$は小さい順にn番目の素数であることをいいます。

$2^{p_7} + 3^{p_5} + 5^{p_3} + 7^{p_2}$

788からはじまる連続する6つの整数を、素数の小さい順番$p_1$~$p_6$で割った時の余りを計算しよう。

8757193191の左からn桁を順次取り出して、$p_n$で順次割った時の余りを計算しよう。

左から桁を1つずつ切り捨てていっても素数になるものを左切り捨て可能素数(left-truncatable prime)といいます。次の整数について、左切り捨て可能素数であるか確認しよう。

95918918997653319693967

96686312646216567629137

357686312646216567629137

105から210までにあるすべての素数pに対して、210から差し引いた値が素数かどうか確認しよう。