0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

素数判断をしてみよう

Posted at

はい、インターン先でプログラミングを勉強しているものです。
今回はHacker Rankで素数かどうか判断するプログラムを作らなければいけなかったので、そのメモ程度に投稿したいと思います。

素数判断をしてみよう

まず、Hacker Rankで「Prime」という謎の英単語出てきて困惑しました。
こちらをGoogleさんに翻訳してもらったところ、素数という意味っぽいです。
そして、問題としては、入力された数字が素数かどうか判断し、素数であれば「Prime」と出力し、そうでなければ、Not primeと出力せよ、というものでした。
自分が実際に調べながら作ったコードが以下のものです。

class Prime_Number:
    def Prime_determine(self,data):
        if data==1:
            print('Not prime')
        elif data==2:
            print('Prime')
        else:
            for i in range(2,data):
                if data%i==0:
                    print('Not prime')
                    break
                if i==data-1:
                    print('Prime')
                
                 

T=int(input())
my_prime=Prime_Number()
for i in range(0,T):
    data=int(input())
    my_prime.Prime_determine(data)

しかし、問題が・・・

こんな感じになりました。
ほぼ初めてクラスというものを使いました。
ここまでくぐりぬけてきたカリキュラム地獄が意外と役に立ち、思ったよりも理解していました。
そして、使ってみてこんな感じに実装できました。
ただ、このコードだと処理回数が多くなり、データが大きくなると処理できなくなってしまい、Hacker Rankの問題でもデータが大きいとダメでした。
答えを見てみるとimport mathを利用しており、まだ未知の世界なので今回はこんなもんにしておきます。
最後まで読んでいただきありがとうございます。

参考にさせてもらったもの

素数判断のコード https://kconputing.hatenablog.com/entry/2017/02/19/190421

0
0
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?