0
0

More than 3 years have passed since last update.

Python3で任意の数までの素数をリストで表示する方法

Last updated at Posted at 2021-02-03

Chainerのチュートリアルにて

Chainerの公式サイトのチュートリアルにてつらつらと読み進めていたら演習問題でこんな問題にぶち当たった。

2以上の整数 p が素数であるとは、「どんな 2 以上 p-1 以下の整数 k に対しても p は k で割り切れない」が成り立つことを指します。素数を小さい順から列挙すると、2, 3, 5, 7, 11, 13, 17, … となります。 チュートリアルで学んだ制御構文である if や for を用いて、2 から 100 からまでに含まれる素数を列挙して下さい。

何を言ってんだ?
と初心者ながらに思ったわけです。

答え

primes.py
num = [2] #2から始める
p = 100 #対象の数
for array1 in range(3, p, 2): #2以外の素数は奇数でしか存在しないので2飛ばしでいく
    for array2 in num:  #array1にまず3が入り、そして3未満の数字2で割ろうとする
      if array1 % array2 == 0: #あまりが0になったら割り切れてしまった証拠
          break
    else:                     #もし余りが出た場合は素数列numへappend(追加)してあげる
      num.append(array1)
print(num)

恥ずかしながらこれを解決するのに数時間かかった。
もっと励まないといかんと思いました。

正直、

高校時代に理系ではあったがこんなにもプログラミングで数学にぶち当たるとは思わなかった。
ちゃんと数学の復習をしておこうと反省した。

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0