数のより良い除数を見つけるためのPythonプログラム
数nがあるとします。これらの条件に基づいて、どちらがより良いnの約数を見つける必要があります。2つの数pとqがあり、数字の合計が大きい方がもう一方よりも優れていると呼ばれます。桁の合計が同じ場合は、数値が小さいほど良いです。
したがって、入力がn =180の場合、除数は[1、2、3、4、5、6、9、10、12、15、18、20、30、36、 45、60、90、180]。したがって、桁の合計が最大になる数は[9、18、36、45、90、180]ですが、その値が小さいほど9の方が適しています。
これを解決するには、次の手順に従います-
- div:=1、md:=1
- 2からnの範囲のiについては、
- k:=i
- n mod i> 0の場合、
- 次の反復に進む
- s:=0
- k> 0の場合、do
- s:=s + k mod 10
- k:=k / 10
- s> mdの場合、
- md:=s
- div:=i
- return div
例
理解を深めるために、次の実装を見てみましょう
def solve(n): div = 1 md = 1 for i in range(2, n + 1): k = i if n % i > 0: continue s = 0 while k > 0: s += k % 10 k /= 10 if s > md: md = s div = i return div n = 180 print(solve(n))
入力
180
出力
9
-
リスト内の最小数を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。リストで利用可能な最小の番号を表示する必要があります ここでは、リストを並べ替えて最小の要素を取得するか、組み込みのmin()関数を使用して最小の要素を取得できます。 次に、以下の実装の概念を観察しましょう- 例 list1 = [101, 120, 104, 145, 99] # sorting using built-in function list1.sort() print("Smallest element is:", list1[0]) 出力 Smal
-
Pythonプログラムで数の偶数因子の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。 アプローチ 数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。 数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。 偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。 次に、以下の実装を見てみましょう- 例 # math