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

ターゲットxを取得するためにサイコロの目数を数えるC++コード


数xがあるとします。 6面のサイコロがあり、その面には2から7までの番号が付けられています。サイコロから正確にxポイントが必要です。サイコロを投げると、目標に到達するために面番号が加算されます。サイコロの目はあまり気にしないので、正確にxポイントを獲得できるように、いくつでもサイコロを振ることができるかどうかを知りたいだけです。私たちは非常に幸運なので、選択したロール数でxポイントを獲得する確率がゼロ以外の場合、そのような方法でサイコロを振ることができます。番号を見つける必要があります。

したがって、入力がx =100の場合、出力は27になります。これは、2、11回、3、6回、6、10回取得するためです。 (他の回答も可能です)

ステップ

これを解決するには、次の手順に従います-

return floor of (x / 2)

理解を深めるために、次の実装を見てみましょう-

#include<bits/stdc++.h>
using namespace std;
int solve(int x){
   return x/2;
}
int main(){
   int x = 100;
   cout << solve(x) << endl;
}

入力

100

出力

50

  1. C++で長方形の正方形の数を数える

    =Bとなるように、長さL、幅Bの長方形が与えられます。目標は、サイズLXBの長方形が収容できる正方形の数を見つけることです。 上の図は、サイズ3 X 2の長方形を示しています。2、2X2の正方形、6,1X1の正方形があります。 総正方形=6+ 2=8。 サイズLXBのすべての長方形には、1X1の正方形のL*B数があります。 最大の正方形のサイズはBXBです。 L =B =1の場合、正方形=1。 L =B =2の場合、正方形=1 + 4 =5(2X2の1、1X1の4) L =B =3の場合、正方形=1 + 4 + 9 =14(3X3の​​1、2X2の4、1

  2. Pythonのターゲット合計を持つダイスロールの数

    d個のサイコロがあり、各サイコロに1、2、...、fの番号が付けられたf個の面があるとします。サイコロを振るには、10 ^ 9 + 7を法として(fdの合計ウェイのうち)可能なウェイの数を見つけて、表向きの数字の合計がターゲットと等しくなるようにする必要があります。したがって、入力がd =2、f =6、target =7の場合、出力は6になります。したがって、6つの面を持つ各サイコロを投げる場合、合計6を1+6として取得する6つの方法があります。 2 + 5、3 + 3、4 + 3、5 + 2、6+1。 これを解決するには、次の手順に従います- m:=1e9 + 7 次数dx(t +