見出し画像

汝は素数なりや?

こんにちは。
さしす文庫の陸離なぎです。

今回はある動画を見ていてふと、
「入力した数字が素数かnot素数か判定するプログラムを作りたいな」
と思ったので、作ってみました。

まず、作ったものがこちらです。


Colaboratoryで作成

まず考えたのは、素数かどうかを判定するには、どうすればいいかということです。そして、素数とはなにかと考えました。

そして私は素数をこう定義付けました。
「素数は1からその数までで割ったときに余りが0になる回数が2回の数字」

 なのでこういうアルゴリズム(コンピュータへの指令)を考えました。
 ・任意の数を1から順番に割っていって「余り0」が何回出てくるかをカウントする。
 ・0が2回までなら最後まで行き、「素数」と判定。
 ・3回出てきた時点でループを抜けて「素数じゃない」と判定。

ここからはプログラムの説明です



p = int(input("数値を入力してください: "))
  ユーザーに数字を入力してもらうプログラムです。
  ここはどう書いたらいいか分からなくて調べました。分からなかったら調べる。がすべての学びの基本です。

a=0
b=0
c=0
  あとで使うのでいったん0を定義付けてます。

for i in range(p):
  入力された数(p回)繰り返すというプログラムです。

a=a+1
  aに1を足し、
b=p%a
  p÷aのあまりをbに代入しています。

if b == 0:
    c=c+1
    if c == 3:
      break
  もし余り(b)が0のとき、cに1を足し、
   もし、cが3になったら、このループを終わるというプログラムです。

if c == 2:
  print(p,"は素数です")
else:
    print(p,"は素数ではありません")
  もしcが2なら「(p)は素数です」と出力し、そうでないなら「(p)は素数ではありません」と出力するプログラムです。

実行すると、


こうなります。
はい。
17は素数ですね。
これで私もプログラマーです。

感想

プログラミングって結構ハードルが高いイメージがあると思うんですけど、実際、始めるまではハードルが高いです。でも、調べれば出てくることばかりなので、ちゃんと舗装された階段があって、良い時代だと思いました。

コーディング(プログラムを書くこと)も大事ですけど、アルゴリズム(コンピュータにどんな命令を与えるか)の方が大事だとも感じました。

今後の課題

「プログラムをアプリにする」
これにつきますね。
アンドロイドで動くアプリにして、アプリ開発者になりたいです。


【宣伝】


アンドロイドと言えば、2月9日(日)、文学フリマ広島7という同人誌即売会にさしす文庫が出店するのですが、そこで『抽選で高性能アンドロイドが当たったアンソロジー』という小説アンソロジーを販売予定です。
※こっちのアンドロイドはスマホの話ではないです。
無料で入場できるので、お近くにご住まいの方やその頃に広島にご用事のある方は是非、お立ち寄りください。

いいなと思ったら応援しよう!

この記事が参加している募集