ホームページ  >  記事  >  バックエンド開発  >  C プログラム: 停止問題の解決

C プログラム: 停止問題の解決

WBOY
WBOY転載
2023-09-11 20:17:021027ブラウズ

C プログラム: 停止問題の解決

問題文- このような状況で、n駅の中からr駅に停車する電車を見つけるプログラムです。 2 つのストップが連続しないようにする方法です。

問題の説明

このプログラムは電車が止まる方法、つまり配置の数を数えます。ここで、列車は地点 #XX から Y まで移動します。これらのポイントの間には、n サイトがあります。列車は、この n 駅のうち r 駅に停車しますが、r 駅に停車する場合、連続する 2 つの駅に停車することはできません。 #この順列は、単純な

n

pr 式を使用して見つけることができます。 いくつか例を挙げてみましょう。

Input : n = 16 , r = 6
Output : 462

p>説明

- 以下の順列公式を使用して、列車が運行できる 16 駅のうち 6 駅を見つけます。ドッキングするには:

npr または p(n, r) = n! ∕ (n-r)! アルゴリズム

Input  : total numbers of stations n and number of stations train can stop r.
Step 1 : For values of n and r calculate the value of p(n,r) = n! / (n-r)!
Step 2 : print the value of p(n,r) using std print method.

ライブデモンストレーション

#include<stdio.h>
int main(){
   int n = 16, s = 6;
   printf("Total number of stations = %d</p><p>Number of stopping station = %d</p><p>", s, n);
   int p = s;
   int num = 1, dem = 1;
   while (p!=1) {
      dem*=p;
      p--;
   }
   int t = n-s+1;
   while (t!=(n-2*s+1)) {
      num *= t;
      t--;
   }
   if ((n-s+1) >= s)
      printf("Possible ways = %d", num / dem);
   else
      printf("no possible ways");
}

出力

Total number of stations = 16
Number of stopping station = 6
Possible ways = 462

以上がC プログラム: 停止問題の解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。