Pythonでプログラムを作成して、特定の級数の腕の強い数をフィルタリングします
アームストロング数をフィルタリングするためのシリーズと結果があると仮定します。
original series is 0 153 1 323 2 371 3 420 4 500 dtype: int64 Armstrong numbers are:- 0 153 2 371 dtype: int64
これを解決するには、以下の手順に従います-
-
シリーズを定義します。
-
空のリストを作成し、すべての系列データにアクセスするためのforループを設定します。
-
armstrongの初期値を0に設定し、一連の要素を1つずつ格納するための一時変数を作成します。以下に定義されています
l = [] for val in data: armstrong = 0 temp = val
-
whileループを作成し、temp> 0を確認し、temp%10で剰余を計算します。余りの3乗をとってアームストロング値を追加し、0に達するまで一時値を10で割って、ループを終了します。以下に定義されています
while(temp>0): rem = temp % 10 armstrong = armstrong + (rem**3) temp = temp // 10
-
元の値を一時的な値と比較するif条件を設定します。一致する場合は、値をリストに追加します。
if(armstrong==val): l.append(val)
-
最後に、isin()を使用して、シリーズに存在するリスト値を確認します。以下に定義されています
data[data.isin(l)]
例
より良い実装を得るために、以下のコードを見てみましょう-
import pandas as pd data = pd.Series([153,323,371,420,500]) print("original series is\n", data) l = [] for val in data: armstrong = 0 temp = val while(temp>0): rem = temp % 10 armstrong = armstrong + (rem**3) temp = temp // 10 if(armstrong==val): l.append(val) print("Armstrong numbers are:-") print(data[data.isin(l)])
出力
original series is 0 153 1 323 2 371 3 420 4 500 dtype: int64 Armstrong numbers are:- 0 153 2 371 dtype: int64
-
与えられた数Nの桁数を数えるプログラムをPythonで書く
数値Nを指定したとしましょう。タスクは、数値に存在する桁の総数を見つけることです。たとえば、 入力-1 − N = 891452 出力 − 6 説明 −指定された番号891452には6桁が含まれているため、この場合は「6」を返します。 入力-2 − N = 0074515 出力 − 5 説明 −指定された番号0074515には5桁が含まれているため、出力を5として出力します。 この問題を解決するために使用されるアプローチ この問題は次の方法で解決できます 数字として入力「n」を取ります。 関数countDigits(n)は、入力「n」を受け取り、出力として桁数
-
ある間隔で数値を出力するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 間隔の開始範囲と終了範囲を指定します。指定された間隔ですべての数値を印刷する必要があります。 素数は1より大きい自然数であり、1とそれ自体以外に正の約数はありません。 2つのforループがあります。最初のforループは区間内の数値を取得するためのもので、2番目のループは数値が素数であるかどうかをチェックするためのものです。 それでは、実装を見てみましょう。 例 start = 10 end = 29 for val in range(start, end + 1): # If nu