与えられた番号がPythonで鉱石番号であるかどうかを確認します
数nがあるとします。 nが鉱石番号かどうかを確認する必要があります。私たちが知っているように、鉱石の数は除数が整数の調和値を持つ数です。
したがって、入力が28のような場合、28の約数が6つあるため、出力はTrueになります:[1、2、4、7、14、28]、したがって
3は整数なので、28は鉱石の数です。
これを解決するには、次の手順に従います-
- 関数get_all_div()を定義します。これにはnがかかります
- div:=新しいリスト
- 範囲1から(nの平方根)の整数部分のiの場合、do
- nがiで割り切れる場合、
- (n / i)の商がiの場合、
- divの最後にiを挿入
- それ以外の場合、
- divの最後にiを挿入
- divの最後に(n / i)の商を挿入
- (n / i)の商がiの場合、
- nがiで割り切れる場合、
- return div
- 関数get_harmonic_mean()を定義します。これにはnがかかります
- div:=get_all_div(n)
- 合計:=0
- 長さ:=divのサイズ
- 0から長さ-1の範囲のiの場合、実行
- 合計:=合計+(n / div [i])
- 合計:=合計/ n
- 返品の長さ/合計
- メインの方法から次の手順を実行します。
- mean:=get_harmonic_mean(n)
- 平均が整数の場合、
- Trueを返す
- Falseを返す
理解を深めるために、次の実装を見てみましょう-
サンプルコード
def get_all_div(n): div = [] for i in range(1, int(n**(0.5)) + 1): if n % i == 0: if n // i == i: div.append(i) else: div.append(i) div.append(n // i) return div def get_harmonic_mean(n): div = get_all_div(n) total = 0 length = len(div) for i in range(0, length): total += (n / div[i]) total /= n return length / total def solve(n): mean = get_harmonic_mean(n) if mean - int(mean) == 0: return True return False n = 28 print(solve(n))
入力
28
出力
True
-
PythonでNが二面素数であるかどうかを確認します
数nがあるとします。 nが二面素数であるかどうかを確認する必要があります。数自体が素数であり、ディスプレイの向き(通常または上下逆)に関係なく、7セグメントディスプレイを使用して同じ数または他の素数が表示される場合、その数は二面素数であると言われます。 したがって、入力がn =1181のような場合、出力はTrueになります 2つ目は、1つ目の逆さまの形式で、どちらも素数です。 これを解決するには、次の手順に従います- 関数up_side_down()を定義します。これにはnがかかります temp:=n、total:=0 0の場合、do d:=temp mod 10
-
Python-指定された文字列がバイナリ文字列であるかどうかを確認します
この記事では、特定の文字列に1または0のみの文字が含まれているかどうかを確認します。このような文字列をバイナリ文字列と呼びます。 2や3などの他の数字がある場合は、非バイナリ文字列として分類されます。 セット付き Pythonのset演算子は、一意の要素のみを格納します。したがって、文字列を取得し、それにset関数を適用します。次に、要素として0と1のみを持つ別のセットを作成します。これらのセットが両方とも等しい場合、文字列は間違いなくバイナリです。また、文字列には1のみまたは0のみが含まれる場合があります。したがって、集合演算子の結果を0のみまたは1のみと比較するor条件を作成します。 例