以下のメソッドを定義して、任意の整数の最小要素を返します。一番小さい要素は、1より大きい最小の数で、パラメータに2以上の値を均等に割ります。これは私のコードですが、なぜ間違っているのか分かりません。Python、ループ、反復
def first_factor(n):
for num in range(2,n):
if n % num == 0 and sqrt(n):
return num
以下のメソッドを定義して、任意の整数の最小要素を返します。一番小さい要素は、1より大きい最小の数で、パラメータに2以上の値を均等に割ります。これは私のコードですが、なぜ間違っているのか分かりません。Python、ループ、反復
def first_factor(n):
for num in range(2,n):
if n % num == 0 and sqrt(n):
return num
あなたはない条件の一つとして、range
に数の平方根を使用する必要があります。
def first_factor(n):
for num in range(2, int(n**0.5)+1):
if n % num == 0:
return num
申し訳ありませんが、このコードは正しくありません。助けてくれ、ありがとう。 – Xuan
@ Xuan - どのように正しいのですか?それは私のためにうまく動作します。 – TigerhawkT3
はい、なぜ私に間違っているのか分かりません。 – Xuan
これは、関数の定義です - あなたは、に持って、それを見るためにと印刷結果それを呼び出します。 完全なコードであってもよい。それは無駄であり、それは素数のために結果を与えることを防止するように、私は完全平方根を省略
def first_factor(n):
for num in range(2, n + 1):
if n % num == 0:
return num
print(first_factor(3))
注意。
ここにコードを載せてください。スクリーンショットではありません。 – piyushj
問題はなんですか? – Mureinik
私はなぜ間違っているのかわかりません。ありがとうございます。 – Xuan