Pythonで数値を最大にするために5を挿入
数nがあるとすると、その数のどこかに5を挿入して、作成できる最大数を見つける必要があります。
したがって、入力がn =826のような場合、出力は8526になります。
これを解決するには、次の手順に従います-
- temp:=nを文字列として
- ans:=-inf
- 0からtempのサイズまでの範囲のiについては、
- cand:=インデックス0からiまでのtempのサブストリング「5」を連結します。インデックスiからendまでのtempのサブストリングを連結します
- iが0と同じで、temp[0]が'-'と同じ場合、
- 次の反復に進む
- ans:=ansの最大数、およびカンド数
- 回答を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, n): temp = str(n) ans = float('-inf') for i in range(len(temp) + 1): cand = temp[:i] + '5' + temp[i:] if i == 0 and temp[0] == '-': continue ans = max(ans, int(cand)) return ans ob = Solution() print(ob.solve(826))
入力
826
出力
8526
-
数の最大の素因数を見つけるためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 正の整数nが与えられます。数の最大の素因数を見つける必要があります。 アプローチ 指定された数値を数値の約数で割って因数分解します。 最大素因数を更新し続けます。 例 import math def maxPrimeFactor(n): # number must be even while n % 2 == 0: max_Prime = 2 n /= 1
-
Pythonのfactorial()
数値の階乗を見つけることは、Pythonを含むデータ分析やその他の数学的分析で頻繁に必要とされます。階乗は、1から指定された数までのすべての整数を乗算することにより、常に正の整数に対して検出されます。以下に示すように、これを見つけるには3つのアプローチがあります。 Forループの使用 forループを使用して、指定された数まで1番を繰り返し、各ステップで乗算を続けることができます。以下のプログラムでは、ループで使用する前に、数値を入力して入力を整数に変換するようにユーザーに求めています。このようにして、計算で正の整数を確実に取得します。 例 n = input("Enter a nu