[ad_1]
指定された範囲内で数字 1 で終わる素数を見つけて出力します
入力形式:
範囲を取得する
出力フォーマット:
1 で終わる指定された範囲内の素数を出力します
入出力例:
1
100
11 31 41 61 71
私が犯したエラーは何ですか?
私が試したこと:
l=int(input('enter the lowest')) h=int(input('enter the highest')) for i in range(l,h+1): if i>1: for e in range(2,i): if(i%e)==0: break else: if i%10==1: print(i)
見積もり:1 で終わる特定の間隔で素数を見つける方法
アドバイス: 懸念事項を分けてください。物事が楽になります!
数が素数であるかどうかはかなり明確に定義されており、数自体以外には依存しません。
def IsPrime(n) ... return ...
あなたのコードを見てください!
単位桁が 1 の素数のみを表示したいことはわかっています。単位桁を確認するのはかなり簡単で高速ですが、数値が素数かどうかを確認するのはより困難です。
最も簡単なパスを探します:
l=int(input('enter the lowest')) h=int(input('enter the highest')) unit= l%10 if unit !=1: # adjust unit to next number with unit 1 l= ... while l < h: # check if l is prime and do stuff l= l+10 # end
見積もり:私が犯したエラーは何ですか?
選択したツールであるデバッガーを使用して、自分で見つけることができます。
コードが期待どおりに動作しないか、理由がわかりません。
ほぼ普遍的な解決策があります。コードをデバッガーで段階的に実行し、変数を調べます。
デバッガーは、コードが何を行っているかを示すためにここにあり、あなたのタスクはコードが何をすべきかを比較することです。
デバッガーには魔法はありません。コードが何をすべきかはわかりません。バグを見つけることはありません。何が起こっているのかを示すことで、バグを見つけるのに役立ちます。 コードが期待どおりに動作しない場合は、バグに近づいています。
コードの動作を確認するには: ブレークポイントを設定してコードの実行を確認するだけです。デバッガーを使用すると、行を 1 行ずつ実行し、実行時に変数を調べることができます。
Visual Studio 2010 でのデバッグの習得 – 初心者向けガイド[^]
Visual Studio 2010 を使用した基本的なデバッグ – YouTube[^]
27.3. pdb — Python デバッガ — Python 3.6.1 ドキュメント[^]
Python でのデバッグ | Python が宇宙を征服[^]
pdb – 対話型デバッガー – 今週の Python モジュール[^]
デバッガーは、コードが何を行っているかを表示するためだけに存在し、あなたのタスクはコードが何をすべきかを比較することです。
すべての素数は定義上奇数なので、奇数で割るだけで済みます。 また、それ以上の値はすべてテスト済みであるため、平方根までの数値で除算するだけで済みます。 最後に、除算自体を無視する必要があります。 したがって、アルゴリズムは次のとおりです。
// given any number div = 3 max = sqrt(number) while div < max { if div != number AND number % div == 0 return // not a prime div = div + 2 // try next divisor } print "number is a prime"
リチャードが言ったことに追加するには、素数が特定の数字で終わるかどうかを調べるには、次を使用します Python モジュロ演算子[^]
[ad_2]
Source link
コメント