実現したいこと
正整数を入力として受け取り,素数なら True, そうでないなら False を return 関数で返す関数を作りたい
前提
pythonの練習で上記の素数判定のプログラムを作りたいのですが、自身が書いたものだと9を入力しても素数であると判断されてしまいます。21を入力しても同様でした。この解決法となぜそうなっているのかを知りたいです。
発生している問題・エラーメッセージ
9
True
該当のソースコード
k
1def is_prime(k): 2 if int(k)<2: 3 return False 4 elif int(k) == 2: 5 return True 6 else: 7 for i in range(2,int(k)): 8 if int(k) % i == 0: 9 return False 10 break 11 return True 12 13is_prime(k)
試したこと
色々と手を加えてみましたがわかりませんでした。
補足情報(FW/ツールのバージョンなど)
また、ネット上では i の範囲を2からkの平方根としていますがなぜなのですか
0 コメント