Python
 Computer >> コンピューター >  >> プログラミング >> Python

停止ステーション問題の数のためのPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 − AとBの2つの場所の間に13の中間駅があるとされています。連続する駅がないように、2つの中間駅で列車を停止できる方法の数を見つける必要がありますか?

次に、以下の実装のソリューションを見てみましょう-

# stop station
def stopping_station( p, n):
   num = 1
   dem = 1
   s = p
   # selecting specified position
   while p != 1:
      dem *= p
      p-=1
   t = n - s + 1
   while t != (n-2 * s + 1):
      num *= t
      t-=1
   if (n - s + 1) >= s:
      return int(num/dem)
   else:
      # condition
      return -1
# main
num = stopping_station(2, 13)
if num != -1:
   print("No of stopping stations:",num)
else:
   print("I'm Possible")

出力

No of stopping stations: 66

停止ステーション問題の数のためのPythonプログラム

すべての変数はローカルスコープで宣言されており、それらの参照は上の図に示されています。

結論

この記事では、停止ステーションの問題の数に対応するPythonプログラムを作成する方法について学びました。


  1. n番目のカタラン数のPythonプログラム

    この記事では、n番目のカタラン数の計算について学習します。 カタラン数 再帰式-によって定義される自然数のシーケンスです。 $$ C_ {0} =1 \:and \:C_ {n + 1} =\ displaystyle \ sum \ Limits_ {i =0} ^ n C_ {i} C_ {n-i} for \:n \ geq0; $$ n =0、1、2、3、…の最初のいくつかのカタラン数は 1、1、2、5、14、42、132、429、..............です。 .... カタラン数は、再帰と動的計画法の両方で取得できます。その実装を見てみましょう。 アプローチ1:再

  2. 与えられた数がフィボナッチ数であるかどうかをチェックする方法のためのPythonプログラム?

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p