Pythonで1からkまでのすべての値で割り切れる最小数xの後続ゼロの数をカウントするプログラム
数kがあるとします。ここで、1からkまでのすべての値が均等に分割される最小の正の整数値xを考えます。言い換えると、xが1からkまでのすべての数値で割り切れる最小値xを考えます。 xの後続ゼロの数を見つける必要があります。
したがって、入力がk =6のような場合、出力は0になります。ここでの最小のxは60であり、60は1、2、3、4、5、および6を使用して除算できます。末尾のゼロは1つだけです。 60。
これを解決するには、次の手順に従います-
-
res:=0
-
x:=1
-
x * 5 <=k、do
-
res:=res + 1
-
x:=x * 5
-
-
解像度を返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, k): res = 0 x = 1 while x * 5 <= k: res += 1 x *= 5 return res ob = Solution() k = 6 print(ob.solve(k))
入力
6
出力
1
-
Pythonのすべての異なるコースをカバーするために最小学期を数えるプログラム
番号nがあるとすると、1からnまでのラベルが付けられたn個の異なるコースがあることを示します。また、relations [i]にペア(prevCourse_i、nextCourse_i)が含まれる、relationsという配列もあります。これは、コースprevCourse_iとコースnextCourse_iの間の前提条件の関係を表します。したがって、コースprevCourse_iはコースnextCourse_iの前に取得する必要があります。そして、私たちが持っている最後のパラメータはkです。 1学期では、前の学期に受講しているコースのすべての前提条件を満たしている限り、最大k個のコースを受講で
-
Pythonを使用してすべてのノードに到達するための頂点の最小数を見つけるプログラム
n個の頂点とノードに0からn-1までの番号が付けられた有向非巡回グラフがあるとします。グラフはエッジリストで表されます。ここで、edges [i] =(u、v)はノードuからノードv。グラフ内のすべてのノードに到達できる頂点の最小セットを見つける必要があります。 (頂点は任意の順序で返すことができます)。 したがって、入力が次のような場合 これらの2つの頂点は他のどの頂点からも到達できないため、出力は[0,2,3]になります。したがって、それらから開始すると、すべてをカバーできます。 これを解決するには、次の手順に従います- n:=エッジのサイズ all_nodes:=