Pythonで千単位の区切り文字で数値を検索するプログラム
数値nがあるとすると、この数値を文字列形式で返す必要があります。文字列形式では、数千がコンマ( "、")で区切られます。
したがって、入力がn =512462687のような場合、出力は「512,462,687」になります
これを解決するには、次の手順に従います-
-
res:=n as string
-
res:=resの逆形式
-
ans:=空白の文字列
-
0からres-1のサイズまでの範囲のiの場合、実行します
-
i mod 3が0と同じで、iが0と同じでない場合、
-
ans:=ans concatenate'、'
-
-
ans:=ans concatenate res [i]
-
-
ans:=ansの逆形式
-
ansを返す
例(Python)
理解を深めるために、次の実装を見てみましょう-
def solve(n): res = str(n) res = res[::-1] ans = "" for i in range(len(res)): if i%3 == 0 and i != 0 : ans += ',' ans += res[i] ans = ans[::-1] return ans n = 512462687 print(solve(n))
入力
512462687
出力
512,462,687
-
Pythonのバイナリリストで合計kのサブリストの数を見つけるプログラム
0または1のバイナリリストがあるとします。 kという別の入力もあります。合計がkと同じサブリストの数を見つける必要があります。 したがって、入力がnums =[1、0、0、1、1、1、0、1] k =3の場合、サブリストは[1,0,0,1,1]であるため、出力は8になります。 ]、[0,0,1,1,1]、[0,0,1,1,1,0]、[0,1,1,1]、[0,1,1,1,0]、 [1,1,1]、[1,1,1,0][1,1,0,1]。 これを解決するには、次の手順に従います- sums:=マップには、最初はキー0のvalye1が含まれています r_sum:=0 ans:=0 nu
-
PythonでnノードのBSTの数をカウントするプログラム
n個の異なるノードがあるとします。すべてが異なります。二分探索木を形成するためにそれらを配置できる方法の数を見つける必要があります。二分探索木で知っているように、左側のサブツリーは常に小さい値を保持し、右側のサブツリーは大きい値を保持します。 これを解決するために、カタラン数を見つけます。カタラン数C(n)は、n個の異なるキーを持つ二分探索木を表します。式は次のようになります $$ C(n)=\ frac {(2n)!} {(n + 1)!\ times n!} $$ したがって、入力がn =3の場合、出力は5になります。 これを解決するには、次の手順に従います- 関数ncr