C++のN個のコンテナーからの1つのタイプの確率の最大化
確率(最初の(n-1)コンテナーからのXのコピー)=P n-1 =1
確率(最後のコンテナからのXのコピー)=P n =1 /(n + 1)
Pm = Pn-1 * (n – 1) + Pn ∴ Pm = n / (n + 1)
入力 − n =1
出力 − N=1の最大確率は0.5です
説明 −コンテナが1つと、XとYのコピーがそれぞれ1つしかないため。 Xを引く最大確率は0.5です。
入力 − n =3
出力 − N=1の最大確率は0.75
説明 −ここでは、すべてのコンテナにXのコピーが1つあり、最後のコンテナにはYのコピーが3つすべてあります。
以下のプログラムで使用されているアプローチは次のとおりです
-
コンテナの数であるNの整数値を入力します。
-
XがmaxPと言う最大確率を格納する変数を宣言します。
-
与えられたNについて、maxPをN /(N + 1)として計算します。
例
#include <bits/stdc++.h> using namespace std; int main(){ int N=3; double maxP = (double)N / (N + 1); cout << "Maximum Probability for N = " << N << " is, " <<maxP << endl; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Maximum Probability for N = 3 is, 0.75
-
C++の配列に存在するキーKの確率
サイズ「n」の配列で与えられ、タスクは、配列で利用可能な場合、与えられた要素kの確率を見つけることです。 配列内の要素の数に等しい「n」まで配列全体をトラバースし、指定された要素またはキー「k」を検索します。要素がその確率を計算するよりも配列に存在する場合は、0を出力します。 入力 arr[] = { 1, 2, 3, 4, 5, 6} K = 5 出力 probability of a key 5 in an array is :0.166 入力 arr[] = { 1,2,3,4,5,6,7 } K = 8 出力 probability of a key 5 in an
-
C++のチェス盤でのナイト確率
NxNチェス盤が1つあるとすると、騎士はr番目の行とc番目の列から開始し、正確にK回移動しようとします。ここでは、行と列に0のインデックスが付けられているため、左上の正方形は(0、0)であり、右下の正方形は(N-1、N-1)です。 騎士はセルから8つの異なるセルに移動できます。これは、この図に示されています- 騎士が移動するたびに、8つの可能な移動の1つをランダムに選択します。騎士は、正確にK移動するか、チェス盤から離れるまで移動を続けます。騎士が動きを止めた後もボードに留まる確率を見つける必要があります。 したがって、入力が3、2、0、0のような場合、出力は0.0625になります